2013-10-03 32 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

是的,完全正確的,我很羞愧,我這樣的傻瓜,但真的真的很高興,你想通了。你有我的感激之情! –