У меня есть собственный AuthorizeAttribute, как здесь: Обработка тайм-аута сеанса в вызовах ajax
Работает отлично. Но LogOn Действие контроллера Account имеет параметр returnURL в ASP.NET MVC . После входа в систему он возвращается на последнюю страницу (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
};
}
}
Но вы можете видеть здесь, что он возвращает ActionName, который вызывается ajax . Но я хочу вернуть базовое ActionName. Пожалуйста, посоветуйте мне. У меня есть некоторые идеи в качестве скрытого значения или получить ActionName из windows.location с помощью JavaScript. но я думаю, что это не очень хорошая идея.
Задайте вопрос, если вы не поймете мой вопрос