C# 当我将ajax post发送到控制器/操作时,会话为空

C# 当我将ajax post发送到控制器/操作时,会话为空,c#,ajax,session,model-view-controller,C#,Ajax,Session,Model View Controller,我正在用ajax登录 登录名是一个PartialView,其中有一个Captcha映像,它是一个控制器/操作,而不是PartialView 在验证码动作中,我使用Session[key]=Captcha保存验证码 当我使用ajax将表单发布到登录操作时,我会在会话中检查验证码,但会话为空 那么,有没有人知道出了什么问题并帮我解决呢?我现在就解决这个问题 你只要加上 受保护的无效会话_Start() {} 受保护的无效会话_End() {} 在Global.asax中,可以修复此问题 原因是如果不

我正在用ajax登录

登录名是一个PartialView,其中有一个Captcha映像,它是一个控制器/操作,而不是PartialView

在验证码动作中,我使用Session[key]=Captcha保存验证码

当我使用ajax将表单发布到登录操作时,我会在会话中检查验证码,但会话为空

那么,有没有人知道出了什么问题并帮我解决呢?

我现在就解决这个问题

你只要加上

受保护的无效会话_Start() {}

受保护的无效会话_End() {}

在Global.asax中,可以修复此问题

原因是如果不添加Session_Start()和Session_End(),C#MVC将为每个请求创建一个新的sessionid

因此,您想要的会话为null(因为您获得了一个新的sessionid)