【问题标题】:Session is null when i ajax post to a controller/action当我将 ajax 发布到控制器/动作时,会话为空
【发布时间】:2016-07-02 06:18:37
【问题描述】:
我正在使用 ajax 进行登录。
登录是一个 PartialView,有一个 Captcha-image,它是一个控制器/动作,而不是一个 PartialView。
在验证码操作中,我使用 Session[key] = Captcha 来保存验证码。
当我使用 ajax 将表单发布到登录操作时,我检查了 Session 中的验证码,但 Session 为空!
那么,有没有人知道问题出在哪里并帮我解决?
【问题讨论】:
标签:
c#
ajax
session
model-view-controller
【解决方案1】:
我现在解决这个问题。
你只需添加
受保护的 void Session_Start()
{ }
受保护的 void Session_End()
{ }
在 Global.asax 中可以解决这个问题。
原因是如果你不添加 Session_Start() 和 Session_End(),C# MVC 将为每个请求创建一个新的 sessionid。
所以,你想要的会话是空的。(因为你有一个新的 sessionid)。