我在我的网站上使用一个简单的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