会话变量未在Response.Redirect上维护
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了会话变量未在Response.Redirect上维护相关的知识,希望对你有一定的参考价值。
我有一个登录页面,我在登录时重定向到另一个页面。我在Session中保存了一些数据,但无法在Page2.aspx中检索相同的数据。
我发现一些博客和网站说明了同样的问题,但他们的解决方案不起作用。
这是我的Page1.aspx代码
会话[“用户名”] =名称;的Response.Redirect( “〜/ Page2.aspx”,假);
在Page2.aspx中
protected void Page_Load(object sender, EventArgs e)
{
if (Session["Username"] != null)
ClientScript.RegisterStartupScript(GetType(), "", "sendtoken();", true);
else
Response.Redirect("Page1.aspx");
}
Session [“Username”]为空
n web.config中的代码很简单。我试过用
sessionState timeout =“2”
ñ
mode =“InProc”和“StateServer”
答案
最常见的原因是cookie被禁用。您需要使用cookie,或切换到无Cookie会话模型,这有点难以使用。参考这个
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q316112
另一答案
旧的,但我有类似的问题。确保您的iis中没有使用Web园设置。换句话说,检查您的应用程序池是否包含多个工作进程(这是默认值)。
应用程序池 - >高级设置 - >最大工作进程
以上是关于会话变量未在Response.Redirect上维护的主要内容,如果未能解决你的问题,请参考以下文章
Response.Redirect 适用于 Visual Studio,但不适用于 IIS