我有OnSuccess&的Ajax.BeginForm。 OnFailure javascript处理程序。
如何从我的控制器失败以便调用OnFailure?
是的,我曾经调用throw new HttpException(404)并且它曾经工作过。
但是现在,我已经设置了一个调用Server.ClearError()的自定义错误处理程序。由于这个Ajax.BeginForm认为没有发生错误。
我使用的是错误处理程序:ASP.NET MVC Custom Error Handling Application_Error Global.asax?
答案 0 :(得分:1)
你应该能够抛出异常。 HttpException(404)未找到,我认为这不是OnFaiulre的例外。导致HTTP 500的任何内容都应该被脚本解释为错误。
答案 1 :(得分:0)
我处理这个的方法是设置Response.StatusCode = 500并将一个Header附加到我的响应对象Response.AppendHeader(“MyResponseHeader”,“My Message”);
在我的.js OnFailure处理程序中......
function OnFailure(ajaxContext) {
alert(ajaxContext.status); // 500
alert(ajaxContext.getResponseHeader("MyResponseHeader")); // "My Message"
}