[英]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.