首页 新闻 会员 周边 捐助

asp.net mvc2.0 跨controller以后session值一直取不到,但是这个session是存在的,为什么啊?

0
悬赏园豆:10 [已解决问题] 解决于 2012-06-07 11:13

主要是为了实现登陆以后把用户信息存在session里面,但是跳转到其他页面的时候(跨了controller),session死活也取不到,是不是asp.net MVC2.0就是不支持,还是怎么的?

问题补充:

我是通过ajax的post到一个新的contoller

chengkuan的主页 chengkuan | 初学一级 | 园豆:90
提问于:2012-06-07 09:23
< >
分享
最佳答案
0

MVC只不过是一种WEB开发架构,没有对ASP.NET动手术,ASP.NET的内容是被完整保留的。

出现你的这个问题,跟MVC没有任何关系。

你遇到这个问题,你确认你的COOKIE是否已经打开(一般是用COOKIE保存SESSION的),如果不是用COOKIE的,那么见擦你的CONFIG配置是否使用的是数据库来保存,检查数据库的操作权限等信息。

收获园豆:9
无之无 | 大侠五级 |园豆:5095 | 2012-06-07 09:46

你好,据我知道的,现在我的情况是在同一个contoller里面session是可以自由赋值和读取的,但是跨了controller,session就无法获取了,有没有什么解决办法?就是针对session的解决办法,而不是cookie.我是mvc新手,谢谢你

chengkuan | 园豆:90 (初学一级) | 2012-06-07 09:53

@chengkuan: SESSION是基于COOKIE存储的,所以会让你检查COOKIE是否开通的问题。

从你的这个情况来说,我还没遇到过。感觉怪怪的。

无之无 | 园豆:5095 (大侠五级) | 2012-06-07 10:16

@笨笨蜗牛: 我看了一下,不是不同controller下取不到session,而是我ajax post 跳转到的ContentResult 

方法是取不到session值的

如下:

 [AcceptVerbs(HttpVerbs.Post)]
        public ContentResult UploadImg(HttpPostedFileBase FileData, string folder, string name)
        {
if (HttpContext.Session["user"] != null)
            {
                string ss = "reter";
            }
}
chengkuan | 园豆:90 (初学一级) | 2012-06-07 10:29

@chengkuan: AJAX请求的是一个什么控制器?确认下,在这个控制器下是否能取到session。

实在不行,你把你的AJAX调用代码,后台的处理代码缩减后贴上来吧。

无之无 | 园豆:5095 (大侠五级) | 2012-06-07 10:35

@笨笨蜗牛: session赋值在accountController上面,ajax请求的是 SeriesController,SeriesController控制器下面是可以取到session的(在正常的url跳转的情况下),但是通过ajax请求SeriesController里面的

UploadImg的时候,session就取不到了。具体逻辑不复杂就这么简单。 
其实之前我通过ashx来做的时候,session同样取不到。
chengkuan | 园豆:90 (初学一级) | 2012-06-07 10:47

@chengkuan: ASHX要取到SESSION是需要在ASHX页面里继承接口IRequireSession(具体的名字忘记了)。

你这个。。。不要弄什么UPLOADIMG,先简单的做个AJAX的页面调用,检查这个简单的AJAX页面调用里是否能取到SESSION(简单到只检查SESSION)

无之无 | 园豆:5095 (大侠五级) | 2012-06-07 11:04

@笨笨蜗牛: 非常感谢你的回答,谢谢。问题找到了。因为用到了falsh插件的问题,上传的时候产生了另一个session.不好意思耽误您时间了。

chengkuan | 园豆:90 (初学一级) | 2012-06-07 11:13

@chengkuan: 

我也遇到了这个问题,目前还没解决。

多一块石头 | 园豆:131 (初学一级) | 2012-08-08 10:51
其他回答(3)
0

试试这样设置与读取Session:

System.Web.HttpContext.Current.Session["user"] 

收获园豆:1
dudu | 园豆:29762 (高人七级) | 2012-06-07 10:44

谢谢你,不行的

支持(0) 反对(0) chengkuan | 园豆:90 (初学一级) | 2012-06-07 10:50

@chengkuan: 在web.config中你是如何实现Session的?

支持(0) 反对(0) dudu | 园豆:29762 (高人七级) | 2012-06-07 10:51

@dudu: 感谢。

支持(0) 反对(0) chengkuan | 园豆:90 (初学一级) | 2012-06-07 11:13
0

我也遇到了这个问题,目前还没解决。

多一块石头 | 园豆:131 (初学一级) | 2012-08-08 10:51
0

原来你这SB+低智商喷子还是个低级程序员。。。

果然不出我所料

cateatmycode | 园豆:201 (菜鸟二级) | 2014-08-24 20:34

不好意思,让你心灵受到巨大伤害无法弥补,不知道你神经这么脆弱。你智商这么高难怪看不起黑人。哎,没女朋友吧

支持(0) 反对(0) chengkuan | 园豆:90 (初学一级) | 2014-08-25 11:40

@chengkuan: 呵呵,只是好奇你这种张嘴就是SB的玩意是什么货色而已。没有诚心想让你心灵受到巨大伤害而无法弥补。至于女朋友吗,你问的是哪个?23岁的还是19岁的?

支持(0) 反对(0) cateatmycode | 园豆:201 (菜鸟二级) | 2014-08-25 11:43

@madfrag: 好崇拜你哦,美女

支持(0) 反对(0) chengkuan | 园豆:90 (初学一级) | 2014-08-25 11:48

@chengkuan: 脑残东西,别回啦,该吃药了。顺便把你女朋友充下气

支持(0) 反对(0) cateatmycode | 园豆:201 (菜鸟二级) | 2014-08-25 11:50

@madfrag: 别再嘚瑟啦,该写你代码了。不然又要扣你工资了都

支持(0) 反对(0) chengkuan | 园豆:90 (初学一级) | 2014-08-25 12:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册