会话变量在AJAX请求中变为空(但不在AuthorizeAttribute中)

时间:2013-12-02 15:00:39

标签: c# asp.net-mvc jquery

我有控制器

public sealed class DetailsController : SiteController
{
    [IsLoggedIn]
    public JsonResult GetDetais()
    {
        var guid = new Guid(this.UserId);
        // some code
    }
}

使用以下命令从部分类调用该操作:

$.ajax({
type: "POST",
url: "@Url.RouteUrl(..., new {action = "GetDetails", controller="Details"})",
dataType: "json"

}

UserId存储在Session中。这是用户Guid。如果为null,则AuthorizeAttribute'IsLoggedIn'重定向到SignIn页面。

在生产中,我们在新Guid(this.UserId)中有多个错误,因为UserId == null。 你有什么想法怎么样?如果是传递AuthorizeAttribute(所以它不是null),它应该在动作中不为null,不是吗?

0 个答案:

没有答案