我來了一個問題,我不知道如何解決。如何在ajax方法中執行filterContext.Result呼叫時重定向頁面?
我的問題的上下文是基於當會話變量丟失時需要將用戶重定向到登錄。
我們正在做的是在該預覽爲執行動作,驗證名爲[「SesionesPorUsuarios」]該會話變量,其中不同的爲空
事情是這樣的控制器操作的裝飾:
[HttpPost]
[IndicadorUltimaAccionDelSistema()]
public JsonResult ConsulteLosProductos(string elAliasDelTipoDeProducto)
{
//stuffs...
}
然後是這樣的:
public class IndicadorUltimaAccionDelSistema : ActionFilterAttribute
{
/stuffs...
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (HttpContext.Current.Session["SesionesPorUsuarios"] != null)
{
/stuffs...
}
else
{
/stuffs...
filterContext.Result = new RedirectToRouteResult(
new RouteValueDictionary
{
{ "action", "Login" },
{ "controller", "Login" }
});
}
}
}
我們的登錄操作是:
public ActionResult Login()
{
return View();
}
我們得到了問題,當動作稱爲像$。員額()的方法AJAX
POST方法獲取由行動「登錄」返回的所有觀點,但它不重定向用戶登錄頁面後,post方法獲取由「登錄」操作返回的所有html,並將其視爲JSON對象。
任何人都知道,我們如何解決這個問題,或者我們可以申請什麼workarround對於需要
謝謝...
感謝您的評論,並花時間回答我的問題。 該解決方案的問題是,我們應該更改每個post方法操作調用的所有代碼。 如果沒有另一種解決方案,我們將適用這樣的事情,即使這意味着可能的迴歸。 再次感謝您的時間。 – mmadrigal