我在模式对话框内的文本框上有以下验证器。
<asp:RequiredFieldValidator runat = "server"
ErrorMessage = "Role name can not be empty."
ControlToValidate = "tbxRoleName" />
它的工作原理应该是这样,除了验证触发aspx页面上的每个其他按钮OnClick处理程序。由于对话框不可见,看起来按钮只是在页面上不起作用。我的解决方法是添加CausesValidation =&#34; false&#34;在页面上的所有按钮上。但这是一个非常糟糕的解决方案,我认为应该有一个更聪明的方法。
答案 0 :(得分:22)
将ValidationGroup分配给每个验证器以及应该触发验证的按钮(但不是另一个按钮)。类似的东西:
<asp:RequiredFieldValidator ValidationGroup='valGroup1' ... />
<asp:Button ValidationGroup='valGroup1' Text='I trigger validation' ... />
答案 1 :(得分:9)
如何设置ValidationGroup?
答案 2 :(得分:4)
您也可以使用&#39; causevalidation&#39;到按钮。如果为false,Button将不响应aspx页面中的验证。
实施例:
<asp:Button runat="server" Text="Cancel" CausesValidation="false" />
答案 3 :(得分:1)
Button有一个属性CausesValidation,可以禁用该按钮的验证。 更多信息:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.causesvalidation.aspx