ASP.NET将GridView更新设置为CausesValidation =“false”

时间:2015-04-27 19:58:34

标签: c# asp.net validation gridview

正如标题所示,我试图将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,请记住它是动态生成的?或者是否存在更优雅的解决方案?感谢

1 个答案:

答案 0 :(得分:0)

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

或者ClientSide,您可以遍历Page_Validators数组并检查与您要查找的组匹配的每个验证程序组名称,并根据需要禁用每个名称。