我在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;
}
答案 0 :(得分:0)
由于您的登录页面与您正在讨论的页面是一个单独的页面,因此在用户登录后将其定向回您的页面时不会将其视为回发。因此,每次您的用户访问此页面时, 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;
}
答案 1 :(得分:0)
试试这个:
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;
}
}
此致
答案 2 :(得分:0)
不知道你是否仍然需要这个,但只是检查会话是否为空是没有用的,即
if (!Page.IsPostBack)
{
if (String.IsNullOrEmpty(Session["UserID"]))
{
Session["UserID"] = "";
}
}