ASP.NET Session[] 参数在 page_load() 中不起作用
ASP.NET Session[] parameter doesn't work from page_load()
我正在制作一个不错的 ASP.NET 网站,我在其中保存用户登录时会话的详细信息,如下所示:
protected void Login_Click(object sender, EventArgs e)
{
//If details at the user/password textboxes are legit:
Session["User"] = new User(LoginUserTB.Text, LoginPassTB.Text, null, Class.UNDEF);
}
它工作得很好,例如,我有一个名为 Welcome 标签的标签,如果用户保存在会话中,它应该会更改为包含用户名的问候语。我是这样编程的,效果很好。
页面加载:
if(Session["User"]!=null)
WelcomeTag.Text = "Welcome, " + ((User)Session["User"]).Username + ".";
但是,由于某种原因,它无法在其中一个标签上正常工作。这是一个名为 StatusDesc 的母版页标签,应该包括服务器上的日期和用户名(如果有的话)。在页面上,我有以下代码:
if (Session["User"] != null)
{
((Label)Master.FindControl("StatusDesc")).Text = "Currently logged to: " + ((User)Session["User"]).Username + ".<br>" + ((Label)Master.FindControl("StatusDesc")).Text;
}
它以前工作过,我对母版页组件名称很确定 - 同时我没有更改它;但是,现在,即使我已登录,它也不会显示用户名行 - 只会显示日期行,即使会话中没有用户也会显示。
知道为什么会发生这样的事情吗?如果您需要我提供代码的其他部分,请询问。
非常感谢您!
您需要了解按顺序触发的事件,以便设置要控制的值
http://msdn.microsoft.com/en-us/library/dct97kc3%28v=vs.140%29.aspx
图片来自 MSDN (http://i.msdn.microsoft.com/dynimg/IC386473.png)
(图片来自CodeProject)
我正在制作一个不错的 ASP.NET 网站,我在其中保存用户登录时会话的详细信息,如下所示:
protected void Login_Click(object sender, EventArgs e)
{
//If details at the user/password textboxes are legit:
Session["User"] = new User(LoginUserTB.Text, LoginPassTB.Text, null, Class.UNDEF);
}
它工作得很好,例如,我有一个名为 Welcome 标签的标签,如果用户保存在会话中,它应该会更改为包含用户名的问候语。我是这样编程的,效果很好。
页面加载:
if(Session["User"]!=null)
WelcomeTag.Text = "Welcome, " + ((User)Session["User"]).Username + ".";
但是,由于某种原因,它无法在其中一个标签上正常工作。这是一个名为 StatusDesc 的母版页标签,应该包括服务器上的日期和用户名(如果有的话)。在页面上,我有以下代码:
if (Session["User"] != null)
{
((Label)Master.FindControl("StatusDesc")).Text = "Currently logged to: " + ((User)Session["User"]).Username + ".<br>" + ((Label)Master.FindControl("StatusDesc")).Text;
}
它以前工作过,我对母版页组件名称很确定 - 同时我没有更改它;但是,现在,即使我已登录,它也不会显示用户名行 - 只会显示日期行,即使会话中没有用户也会显示。
知道为什么会发生这样的事情吗?如果您需要我提供代码的其他部分,请询问。
非常感谢您!
您需要了解按顺序触发的事件,以便设置要控制的值
http://msdn.microsoft.com/en-us/library/dct97kc3%28v=vs.140%29.aspx
图片来自 MSDN (http://i.msdn.microsoft.com/dynimg/IC386473.png)
(图片来自CodeProject)