Jquery 一般如何处理mvc.net ajax错误
我的mvc.net网站广泛使用ajax。到目前为止,我一直在单独处理ajax错误,但在大多数情况下,我总是做同样的事情 对于jqueryajax调用,我正在设置ajaxSetup错误配置,以便它执行我希望它执行的操作。不幸的是,当我在razor中使用ActionLink或ajax表单时,这似乎没有多大作用。对于这些,我必须将OnFailure的AjaxOptions设置为某个javascript方法 虽然我可以将它们全部指向相同的方法,但我希望能够做到这一点,而不必显式地设置AjaxOptions。是否有一种方法可以使所有mvc.net ajax调用使用相同的事件处理程序(除非被重写),类似于jquery允许您这样做Jquery 一般如何处理mvc.net ajax错误,jquery,ajax,asp.net-mvc,Jquery,Ajax,Asp.net Mvc,我的mvc.net网站广泛使用ajax。到目前为止,我一直在单独处理ajax错误,但在大多数情况下,我总是做同样的事情 对于jqueryajax调用,我正在设置ajaxSetup错误配置,以便它执行我希望它执行的操作。不幸的是,当我在razor中使用ActionLink或ajax表单时,这似乎没有多大作用。对于这些,我必须将OnFailure的AjaxOptions设置为某个javascript方法 虽然我可以将它们全部指向相同的方法,但我希望能够做到这一点,而不必显式地设置AjaxOption
我确信这个问题以前有人问过,但我没有看到任何好的解决方案。好的,您可以在C#中创建一个静态方法来创建AjaxOptions类的实例,并在那里设置错误处理程序
public static class AjaxHelper
{
public static AjaxOptions GetAjaxOptions(string onSuccess)
{
var ajaxOptions = new AjaxOptions();
ajaxOptions.OnSuccess = onSuccess;
// your generic js function that will handle errors.
ajaxOptions.OnError = "genericAjaxErrorHandler";
return ajaxOptions;
}
}
而在您的视图中,您可以在创建ajax表单时调用它
@using(Ajax.BeginForm(...., AjaxHelper.GetAjaxOptions("successHandler")) {}
您不必到处指定错误处理程序…这当然是我没有考虑过的想法,但在这种情况下,我仍然必须在每次使用表单或链接时指定AjaxOptions。它只比显式设置OnFailure=“HandleError”好一点。如果没有指定AjaxOption的方法,我会这样做。谢谢你的主意