会话变量和母版页
Session variable and Master page
在我的 ASP.Net 应用程序中,我使用了 1 个母版页和 2 个内容页。
我需要跨应用程序访问单个用户的会话变量,例如 "UserID"。
我只在内容页面设置这个变量,所以根据这个变量,当打开另一个内容页面时,它应该提示消息。
例如:
在内容中Page1.aspx.cs
Session["UserId"] = "USR15289";
硕士Page.aspx
试图在 JS 中访问该会话变量
var UserId= '<%=Session["UserId"] %>';
当我点击内容页面 1 时,会话变量设置正确。现在我单击内容页面 2,但母版页中的会话变量显示为“”。然后,如果我再次单击内容页面 1,现在会话变量显示为 "USR15289".
问题是 Session 变量在第一次点击时不显示,但仅在第二次点击时显示。
可能是什么问题?我错过了什么吗?
据我经验:
使用 Cookie 比使用 Session 更好。
Response.Cookies["userName"].Value = "patrick";
Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1);
HttpCookie aCookie = new HttpCookie("lastVisit");
aCookie.Value = DateTime.Now.ToString();
aCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(aCookie);
回读:
if(Request.Cookies["userName"] != null)
Label1.Text = Server.HtmlEncode(Request.Cookies["userName"].Value);
if(Request.Cookies["userName"] != null)
{
HttpCookie aCookie = Request.Cookies["userName"];
Label1.Text = Server.HtmlEncode(aCookie.Value);
}
看到这个link。
你的代码没有问题。先了解您的需求。
您必须先调用已完成会话变量赋值的页面。
在您的例子中,您首先点击了第 1 页。
在访问
之类的内容之前,请确保检查会话不为空
if( session["UserID"] != null )
{
}
在我的 ASP.Net 应用程序中,我使用了 1 个母版页和 2 个内容页。 我需要跨应用程序访问单个用户的会话变量,例如 "UserID"。
我只在内容页面设置这个变量,所以根据这个变量,当打开另一个内容页面时,它应该提示消息。
例如:
在内容中Page1.aspx.cs
Session["UserId"] = "USR15289";
硕士Page.aspx
试图在 JS 中访问该会话变量
var UserId= '<%=Session["UserId"] %>';
当我点击内容页面 1 时,会话变量设置正确。现在我单击内容页面 2,但母版页中的会话变量显示为“”。然后,如果我再次单击内容页面 1,现在会话变量显示为 "USR15289".
问题是 Session 变量在第一次点击时不显示,但仅在第二次点击时显示。
可能是什么问题?我错过了什么吗?
据我经验:
使用 Cookie 比使用 Session 更好。
Response.Cookies["userName"].Value = "patrick";
Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1);
HttpCookie aCookie = new HttpCookie("lastVisit");
aCookie.Value = DateTime.Now.ToString();
aCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(aCookie);
回读:
if(Request.Cookies["userName"] != null)
Label1.Text = Server.HtmlEncode(Request.Cookies["userName"].Value);
if(Request.Cookies["userName"] != null)
{
HttpCookie aCookie = Request.Cookies["userName"];
Label1.Text = Server.HtmlEncode(aCookie.Value);
}
看到这个link。
你的代码没有问题。先了解您的需求。 您必须先调用已完成会话变量赋值的页面。
在您的例子中,您首先点击了第 1 页。 在访问
之类的内容之前,请确保检查会话不为空if( session["UserID"] != null )
{
}