我有一个页面,它包含一个顶部窗体,向table1和下面添加新的记录,GridView显示了table1中具有编辑能力的记录。在GridView编辑模式下关闭验证
现在上面的表格只是一个文本框,它允许您在table1中输入名称,该文本框具有必需的字段验证程序。然而,当gridview处于编辑模式时,验证器会导致问题,因为当用户按下'update'时,由于验证器是触发器而没有保存任何东西(因为上面的表格中没有任何内容)
我该如何解决这个问题?
我有一个页面,它包含一个顶部窗体,向table1和下面添加新的记录,GridView显示了table1中具有编辑能力的记录。在GridView编辑模式下关闭验证
现在上面的表格只是一个文本框,它允许您在table1中输入名称,该文本框具有必需的字段验证程序。然而,当gridview处于编辑模式时,验证器会导致问题,因为当用户按下'update'时,由于验证器是触发器而没有保存任何东西(因为上面的表格中没有任何内容)
我该如何解决这个问题?
您可以设置RequiredFieldValidator控件和添加按钮具有相同的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按钮中使用cause validation为false。
<asp:Button ID="Button2" runat="server"
CausesValidation="False"
Text="Cancel - Will Not Validate!" />
下面是一个例子:
http://www.java2s.com/Code/ASP/Asp-Control/CausesValidationFalse.htm
你必须把的CausesValidation = “假”,在GridView的
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" CausesValidation="False"/>
完美的答案。谢谢你节省我的时间 –