【问题标题】:ASP.NET set GridView update to CausesValidation = "false"ASP.NET 将 GridView 更新设置为 CausesValidation = "false"
【发布时间】:2015-04-27 19:58:33
【问题描述】:

正如标题所示,我试图将 GridView 的 UpdateMehod 设置为 false。当前单击“更新”按钮时,该事件会触发对单独控件的验证,即使该单独控件位于单独的验证组中也是如此。网格视图如下所示:

 <asp:GridView ID="BikesItems" 
        runat="server"
        CssClass="table table-hover"
        ItemType="WLL.DAL.Bike"
        DataKeyNames="BikeID"
        SelectMethod="BikesItems_GetData"
        UpdateMethod="BikesItems_UpdateItem"
        DeleteMethod="BikesItems_DeleteItem"
        AutoGenerateEditButton="true"
        AutoGenerateDeleteButton="true"
        AutoGenerateColumns="false"
        ValidationGroup="BikeGrid">

        <Columns>
            <asp:DynamicField DataField="BikeID" />
            <asp:DynamicField DataField="BikeName" />
            <asp:DynamicField DataField="Description" />
            <asp:DynamicField DataField="ImgPath" />
            <asp:DynamicField DataField="Price" />
            <asp:DynamicField DataField="ManufacturerID" />

        </Columns>

    </asp:GridView>

如何将更新按钮的 CausesValidation 设置为 false,记住它是动态生成的?或者是否存在更优雅的解决方案?谢谢

【问题讨论】:

  • 通常您不会禁用更新功能,而是禁用验证组
  • 原谅我的无知,有没有办法在 .aspx 页面上做到这一点?
  • 你不是很具体。 aspx 页面只是标记。但是禁用验证组可以在客户端使用 JS 或服务器端在后面的代码中完成。这取决于你的情况。

标签: c# asp.net validation gridview


【解决方案1】:

如果您只想在代码后面(服务器端)中禁用验证组,请使用Page.GetValidators("ValidationGroup") 方法。您可以传入 ValidationGroup 的名称,该方法返回一个 ValidatorCollection,您可以对其进行迭代。

或客户端,您可以遍历 Page_Validators 数组并检查与您要查找的组匹配的每个验证器组名称,并根据需要禁用每个。

【讨论】:

    猜你喜欢
    • 2010-10-23
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-06
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    相关资源
    最近更新 更多