Response.Redirect("x.aspx);跳转后session为null的解决方法

通常我们做登陆的时候都是登录成功后为管理员保存一些信息,一般都会写类似下面的代码

if(登录成功)

{

Session["xx"] = "user";

Response.Redirect("Framework.aspx");

}

当我们登录后再从其它页面访问Session["xx"]的时候发现报错说为null.郁闷具体是为什么我也不清楚.

网上百度一下有人做了如下解释,不知道是否合理

原因:当asp.net 执行 response.redirect 时会强制终止当前response ,不发送当前页面的cookie 给浏览器,而是发送一个指令告诉浏览器重新发送一个新的http请求到新的url,结果导致当前的session 丢失。

解决这个问题的方法是在当前页面接受get请求时就设置一下session ,这样浏览器就会记录下当前的session id,当浏览器再发送post 请求到当前页面时,server就不需要再发送一次session id 的cookie 给浏览器了。

所以为了解决这个问题我改成这样写了。

if(登录成功)

{

TempData["xx"] = "user";

Response.Redirect("a.aspx");

}

然后在a.aspx里写

Session["xx"]=TempData["xx"].ToString();

这个问题就解决了……

注意我是用MVC开发的,webform好像没有TempData["xx"]这个东东的……

时间: 2024-12-19 18:15:52

Response.Redirect("x.aspx);跳转后session为null的解决方法的相关文章

Response.Write("<script>alert('弹出对话框!')</script>") 后跟Response.Redirect("page.aspx");不能弹出对话框,直接跳转页面了 如何解?

Response.Write和Response.Redirect一起用的时候就会这样,write脚本和redirect脚本不能同时使用,这样不会执行脚本,最好使用ClientScript 改进方法: Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "", "<script language=javascript >alert('弹出对话框!');</script>");

IIS 浏览aspx页面出现无法显示XML页的解决方法分享

这篇文章介绍了IIS 浏览aspx页面出现无法显示XML页的解决方法,有需要的朋友可以参考一下 使用IIS调试.aspx程序时IE提示以下错误: 无法显示 XML 页.         使用 样式表无法查看 XML 输入.请更正错误然后单击 刷新按钮,或以后重试.         处理资源 'http://localhost/ 时出错.第 1 行,位置: 2          <%@ Page Language="C#" AutoEventWireup="true&qu

安装Wamp后 Apache无法启动的解决方法

安装Wamp后 Apache无法启动的解决方法,网上的解决方案可以说是五花八门,有些说了一大推,一点作用都起不到. 其实解决方法只需两步: 1.安装路径不能包含有中文,这个我不知道为什么,总之如果安装路径中包含有中文,接下来无论做多少配置工作都是徒劳. 2.安装好后 修改httpd.conf文件 把里面的80端口 改成其他端口 比方改为:8080 ,如果没有端口冲突可以不用修改. 做好以上这两步重启Wamp就可以了. 就这么简单,没必要搞太多东西.

解决安装VC6.0后出现MSDEV.EXE错误解决方法

问题:安装VC6.0后,在打开项目或添加文件时,出现如下错误: 可能导致原因:由于Ms安装软件的兼容性问题,导致VC6.0安装不完全, 解决方法:--网上打sp6补丁的方法貌似不可用,所以可以采用另一种方法 1.在下面的网站下载FileTool.exe http://support.microsoft.com/kb/241396/en-us      2.FileTool.exe是个自解压文件,执行它,解压到某个目录下 3.解压后的文件是一个VC工程,在VC6中编译它 4. 在dsw文件上右键“

【jquery】ajax 请求成功后新开窗口被拦截解决方法

问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢? 分析: 浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限制),即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所

IIS7下js文件启用Gzip后却不压缩的解决方法

本文转载:http://www.jb51.net/article/26340.htm IIS7下js文件启用Gzip后却不压缩的解决方法IIS7已经启用静态文件压缩(Gzip)但是死活不压缩,查找后发现是II7下MIME类型设置问题 将.js的MIME类型设置为application/javascript 再查看页面,已经启用了Gzip. 不过,几个天后又发现有的js文件被压缩,有的却没有. 查找原因发现是引用js文件是没有设置type <script></script> <

Ubuntu关机后会自动重启的解决方法

之前我装了ubuntu 14lts 开发版之后,本来用的好好的,但闲着没事更新了一下内核.之后就遇到ubuntu关机5秒后会自动重启这个问题,我有位用kilin的朋友也遇到这个问题.我反复研究发现,如果你的电脑插着U盘的话,关机是可以正常的,但这种方法不是很友好啊.之后,在贴吧看到最好的解决方法,只要联网状态下,在terminal输入如下命令即可解决. sudo apt-get install laptop-mode-tools Ubuntu关机后会自动重启的解决方法

realarm Android系统编译后内核无法启动的解决方法

由于之前版本使用的内核并非uImage格式,而在编译时使用的是非uImage格式编译,所以照成无法启动. 解决方法是,在编译内核时使用make uImage方式编译. 修改根目录下的build_realv210.sh文件,如下图所示 另外注意上图中CPU_JOB_NUM这个参数,要根据自己的电脑配置来选择,该参数在该文件的起始处设置,可以设置成电脑CPU核心数的2倍,例如:如果核心数为2,那么设置成4即可. 完整脚本下载地址:http://download.csdn.net/detail/u01

关于protel 99se 汉化后某些菜单消失的解决方法

本人在使用protel 99se 画PCB时,遇到了好些问题,通过网上查资料基本都解决了. 下面给大家分享 关于protel 99se 汉化后某些菜单消失的解决方法. 其他的许多看不见的菜单也可以自己通过下面的方法调用出来. 记得自己刚毕业那会用软件总是喜欢用中文版的,到处找什么“汉化”补丁之类.原以为这样能对软件的使用有更加清晰的认识,其实这样反而会更加麻烦.首先这不同的翻译者对同一个英文单词的翻译是不一样的,更何况专业英语单词,那可真是五花八门.二来真正用软件工具熟练的工程师基本上就是用的英