我在VS 2008中开发了一个ASP.NET页面。有一个文本框和登录按钮。需要fireld验证器和Validtion Group控件关联验证。我也为Button click evenet handler编写了代码。但是Button点击不会被解雇。没有回发的帖子。谁能告诉我为什么?
HTM lmarkup
<asp:TextBox ID="txtLoginPass" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" ControlToValidate="txtPassword" ValidationGroup="Login" ErrorMessage="Please enter password." runat="server" />
<asp:Button ID="btnLogin" runat="server" Text="Login"
onclick="btnLogin_Click" ValidationGroup="Login" />
答案 0 :(得分:1)
Validators生成客户端JavaScript,如果必填字段为空,则可以阻止回发。
答案 1 :(得分:1)
那是确切的代码段吗?它根本不起作用 - 没有像txtPassword这样的控制。
Altough,这按预期工作:
<asp:TextBox ID="txtPassword" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" ControlToValidate="txtPassword" ValidationGroup="Login" ErrorMessage="Please enter password." runat="server" />
<asp:Button ID="btnLogin" runat="server" Text="Login"
onclick="btnLogin_Click" ValidationGroup="Login" />
我确信您的代码中已经有了正确的内容,因此问题必须在其他地方 - 请在此代码段周围发布更多代码吗?
答案 2 :(得分:0)
我希望您的某个组件上有AutoPostBack="True"
。如果是,那么删除它,你的onclick应该在按钮上工作。
答案 3 :(得分:0)
我有同样的问题。当文本框为空时,RequiredFieldValidator按预期工作,但是当有文本时按钮单击没有导致回发。我的问题?我在单独的用户控件中使用相同的验证组名称。因此,请确保所有验证组名称都是唯一的。