[英]Session and Page.IsPostBack
我在ASP.NET中有一个网站。 我在页面加载中声明一个会话来存储用户ID,默认情况下该会话为空。
当用户单击登录时,将显示登录页面,并且用户登录并且用户ID存储在会话中。
当我返回索引页面时,它消失了。
这是我的代码:
if (!Page.IsPostBack)
{
Session["UserID"] = "";
}
if (Session["UserID"] == "")
{
HP_User.Text = "New User";
HP_Login.Text = "login";
}
else
{
HP_User.Text = "welcome ." + Session["UserID"].ToString() ;
HP_Out.Visible = true;
HP_Login.Visible = false;
}
由于您的登录页面与您正在谈论的页面是一个单独的页面,因此当用户登录后被定向回到您的页面时,它将不被视为回发。因此,每次用户访问该页面时,他们的Session["UserID"]
设置回""
。 尝试一下:
if (!String.IsNullOrEmpty(Session["UserID"]))
{
HP_User.Text = "New User";
HP_Login.Text = "login";
}
else
{
HP_User.Text = "welcome ." + Session["UserID"].ToString() ;
HP_Out.Visible = true;
HP_Login.Visible = false;
}
尝试这个:
if (!Page.IsPostBack)
{
Session["UserID"] = "";
if (Session["UserID"] == "")
{
HP_User.Text = "New User";
HP_Login.Text = "login";
}
else
{
HP_User.Text = "welcome ." + Session["UserID"].ToString() ;
HP_Out.Visible = true;
HP_Login.Visible = false;
}
}
问候
不知道您是否仍需要此功能,但是仅检查会话是否为空也无济于事,即
if (!Page.IsPostBack)
{
if (String.IsNullOrEmpty(Session["UserID"]))
{
Session["UserID"] = "";
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.