我有一个页面,顶部包含一个表单,用于将新记录添加到 table1 中,下面是一个 GridView,它显示 table1 中的记录并具有编辑能力。
现在上面的表格只是一个文本框,允许您在 table1 中输入名称,这个文本框有一个必填字段验证器。验证器会导致问题,但是当 gridview 处于编辑模式时,因为当用户按下“更新”时,不会保存任何内容,因为验证器是触发器(因为上面的表单中没有任何内容)
我怎样才能解决这个问题?
我有一个页面,顶部包含一个表单,用于将新记录添加到 table1 中,下面是一个 GridView,它显示 table1 中的记录并具有编辑能力。
现在上面的表格只是一个文本框,允许您在 table1 中输入名称,这个文本框有一个必填字段验证器。验证器会导致问题,但是当 gridview 处于编辑模式时,因为当用户按下“更新”时,不会保存任何内容,因为验证器是触发器(因为上面的表单中没有任何内容)
我怎样才能解决这个问题?
你必须把 CausesValidation="False" 在 GridView
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" CausesValidation="False"/>
您可以设置RequiredFieldValidator 控件和Add 按钮具有相同的ValidationGroup 名称。像这样的东西:
<asp:Button ID="btnAdd" runat="server" OnClick="btnAdd_Click" ValidationGroup="addValidation" />
<asp:RequiredFieldValidator ID="nameRequired" ControlToValidate="txtName" runat="server" ValidationGroup="addValidation"></asp:RequiredFieldValidator>
...
<asp:Button ID="btnUpdate" runat="server" OnClick="btnUpdate_Click" />
因此,更新按钮不会受到影响。
在 gridview 按钮中使用原因验证为 false。
<asp:Button ID="Button2" runat="server"
CausesValidation="False"
Text="Cancel - Will Not Validate!" />
这是一个例子:
http://www.java2s.com/Code/ASP/Asp-Control/CausesValidationFalse.htm