多个提交按钮,带有asp.net中的验证

时间:2011-01-04 18:20:20

标签: c# asp.net validation

在ASP.NET中,当我们有多个带有必填字段验证器的输入部分时(例如,登录时使用用户ID和密码的标题是必需的,而第二个页脚用于订阅) 当我们点击订阅登录部分的用户ID必填字段验证器激活并说出用户ID必需&我无法提交订阅。

当我提交订阅详情时,登录部分不应该关注此事。如何避免这种冲突。

2 个答案:

答案 0 :(得分:3)

您必须将ValidationGroup属性用于控件,验证程序和提交回发的控件。

对于每个逻辑组,您设置ValidationGroup属性的相同值

答案 1 :(得分:3)

@Citronas答案是正确的,但要添加它,您还应该确保在使用多个输入表单时正确处理默认行为。在每个面板周围放置一个面板,并使用DefaultButton标识该面板的提交控件。这将确保如果用户按下enter(这是非常典型的,特别是对于登录表单),则使用正确的提交处理程序。

另请注意,这对所有提交控件类型都无法可靠地运行。见Link Button on the page and set it as default button, work fine in IE but not in Mozila

这里提出了一个针对这个问题的解决方案,但我个人更喜欢通过包含一个使用与可见控件相同的事件处理程序的隐藏按钮控件来解决这个问题,例如

<asp:Button runat="server" onclick="Search_Click" ID="SearchButton_Default" style="display:none;" />

然后将此隐藏按钮设为默认控件,而不是LinkButton