2013-10-03 31 views
0

我正在使用C#ASP.Net创建一个简单的网站。我正在使用母版页(MasterPage.master)。C#ASP.net使用主页面登录控件,无法拦截事件

我想设置一个asp:Login控件,并拦截LoginError事件,以便我可以更改FailureText以反映登录失败的性质。

在Login.aspx.cs页面,我试图回应LoginError事件

protected void Login1_LoginError(object sender, EventArgs e) { // Reset the Login1.FailureText string according to what has gone wrong }

这不是发射了FN。

如果我正在使用母版页,那么控件的名称是否被破坏?我曾尝试使用“ContentPlaceHolder1_Login1_LoginError”作为响应函数,以及大量其他变体。

我试过捕获其他事件,如Login1_Authenticate等,但他们不工作,所以我假设我没有使用控件的正确名称。它应该工作,这是让我疯狂!

在此先感谢您的帮助。

回答

1

您没有显示如何在Login1.aspx中定义您的Login控件,因此我假设您没有设置OnLoginError事件。

它应该是:

<asp:Login ID="Login1" runat="server" OnLoginError="Login1_LoginError"> 
</asp:Login> 
+0

是的,完全正确的,我很羞愧,我这样的傻瓜,但真的真的很高兴,你想通了。你有我的感激之情! –