2010-08-25 137 views
0

我有一個非常設計的主頁,直到像素。它需要有用戶名/密碼/登錄,但我不能讓它在那裏顯示任何錯誤消息。有一個單獨的獨立登錄頁面,它不是特定於設計的,並且可以顯示任何消息。它使用標準的登錄控件。在登錄錯誤,重定向到單獨的登錄頁面

有沒有簡單的方法來鏈接這兩個,這樣如果主頁出現錯誤,獨立頁面出現錯誤?我知道如果需要的話,我可以通過編程/手動處理大部分內容。

回答

1

原來的Login控件有FailureAction屬性,默認爲Refresh(重新載入當前頁面)。您可以將其設置爲RedirectToLoginPage,該URL與loginfailure=1進行URL重定向。登錄頁面然後顯示一個通用的Your login attempt was not successful. Please try again.消息,而不是特定的消息。不是我正在尋找的東西,但是這太容易傳遞並實施自定義解決方案。

+1

你知道你也可以使用Response.Redirect,並通過QueryString中的錯誤,或者(更好地)將錯誤粘在HttpContext.Current.Items中並使用Server.Transfer來登錄頁面。 – RPM1984 2010-08-26 00:27:41

1

嘗試攻擊它引發的各種事件(LoginError或者LoggedIn),並在發生錯誤時從該事件處理程序重定向到錯誤頁面。

HTH。

+0

「錯誤頁面」通常是「登錄」控件的標準錯誤消息。如果主頁處理身份驗證,我將如何強制「登錄」控件使用上一頁中的錯誤消息?或者,我將如何通過用戶/傳遞到其他頁面?使用常規表單,我可以將操作設置到其他頁面,但是使用ASP.NET回發模型/頁面生命週期更復雜。 – 2010-08-25 19:16:51

+0

那麼,在loginerror事件處理程序中,您可以在那裏使用response.redirect(「〜/ error.aspx?querystringParams」),但我不會通過查詢字符串傳遞用戶/密碼...您可以使用會話...爲什麼你是否需要將用戶/密碼傳遞給錯誤頁面? – 2010-08-26 11:58:58

+0

錯誤頁面實際上是一個獨立的登錄頁面。如果我可以傳遞身份驗證信息,那麼身份驗證邏輯會在該頁面上被隔離。這只是一個選擇,如何解決這個問題,但不是必需的。 – 2010-08-26 18:18:11