我在这里有自定义AuthorizeAttribute:Handling session timeout in ajax calls 它很棒。但 LogOn 帐户控制器的操作在 ASP.NET MVC 中具有returnURL参数。在LogON之后它返回到最后一页(returnURL)。现在我想在以下情况下返回数据:
if (filterContext.HttpContext.Request.IsAjaxRequest())
{
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
filterContext.Result = new JsonResult
{
Data = new
{
// put whatever data you want which will be sent
// to the client
message = "/Account/LogON/?returnUrl=" + filterContext.ActionDescriptor.ControllerDescriptor.ControllerName + "/" + filterContext.ActionDescriptor.ActionName
},
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
}
但是你可以在这里看到它返回由 ajax 调用的ActionName。但是我想返回基本的ActionName。请指教。我有一些想法作为隐藏价值或使用javascript从windows.location获取ActionName。但我认为这不是一个好主意。 如果您不理解我的问题,请提出问题