我在我的網站上使用一個簡單的asp:登錄表單進行用戶身份驗證。我已經將它作爲基礎,我可以和我的代碼如下所示:如何從asp:login中獲取用戶名以存儲會話?
<asp:Login ID="LoginForm" runat="server"
DestinationPageUrl="~/LoggedIn/TaskPanel.aspx" >
</asp:Login>
適當的表都在我的SQL Server數據庫和登錄工作就像一個魅力:)
登錄後,我想檢索一些用戶數據並將其存儲在會話中供以後使用。爲此,我打算通過數據庫中的存儲過程傳遞用戶名。 我嘗試了以下,但現在當我嘗試進行身份驗證時,沒有任何反應&頁面刷新。
<asp:Login ID="LoginForm" runat="server"
DestinationPageUrl="~/LoggedIn/TaskPanel.aspx"
OnAuthenticate="storeUserDetails" >
</asp:Login>
C#:
protected void storeUserDetails(object sender, EventArgs e)
{
Session["accountCustUsername"] = LoginForm.UserName;
...
...
}
我也試圖把一個Response.Redirect的這個方法,只是爲了看看有什麼事情發生,但沒有做。
我想用登錄模板來獲取用戶名文本框的ID嗎?那麼這將如何完成?
我需要一個assembaly refrence?用戶名不會出現在當前上下文中。 –
明白了:System.Web.HttpContext.Current.User.Identity.Name!爲什麼這個工作,而不是你的建議?謝謝你的幫助! –
@PatrickKeane我以爲你試圖從後面的網頁代碼訪問它,所以我不認爲你需要使用完全限定的名稱。 – scartag