1
我有一個Ajax調用控制器中的HTTP Post Action方法。如何在AJAX調用後重定向到「錯誤」視圖頁面?
此操作方法拋出一個簡單的異常消息。
我有我自己的自定義處理程序裝飾控制器以下屬性:
public override void OnException(ExceptionContext filterContext) {
if (!filterContext.ExceptionHandled) {
string actionName = filterContext.RouteData.Values["action"].ToString();
Type controllerType = filterContext.Controller.GetType();
var method = controllerType.GetMethod(actionName);
var returnType = method.ReturnType;
string controllerName = filterContext.RouteData.Values["controller"].ToString();
HandleErrorInfo model = new HandleErrorInfo(filterContext.Exception, controllerName, actionName);
// redirect on error
filterContext.Result = new ViewResult {
ViewName = "Error",
ViewData = new ViewDataDictionary<HandleErrorInfo>(model)
};
}
filterContext.ExceptionHandled = true;
filterContext.HttpContext.Response.TrySkipIisCustomErrors = true;
}
上面的問題是,由於某種原因,用POST方法,我的網頁不會被重定向到錯誤視圖。但是,如果我調用已使用[HttpGet]修飾的操作方法,我的重定向將正常工作。
是否有可能將AJAX方法重定向到錯誤視圖,因爲我想錯誤視圖頁來處理所有錯誤?
AJAX的全部目的是留在同一頁上,和Ajax調用不重定向。 –
如果動作拋出錯誤,'ajax失敗事件'將觸發,在該編寫代碼中重定向到錯誤頁面 – anand