如何一般处理mvc.net ajax错误

时间:2014-05-09 14:04:00

标签: jquery ajax asp.net-mvc

我的mvc.net网站非常广泛地使用了ajax。到目前为止,我一直在处理ajax错误,但在大多数情况下,我总是做同样的事情。

对于jquery ajax调用,我正在设置ajaxSetup错误配置,以便它完成我想要的操作。不幸的是,当我使用带有剃刀的ActionLink或ajax表单时,这似乎没有太大作用。对于那些,我必须将OnFailure的AjaxOptions设置为一些javascript方法。

虽然我可以将它们全部指向同一个方法,但我希望能够在不必显式设置AjaxOptions的情况下完成此操作。是否有办法使所有mvc.net ajax调用使用相同的事件处理程序(除非被覆盖),类似于jquery允许你这样做?

我确信之前已经问过这个问题,但我没有看到任何好的解决方案。

1 个答案:

答案 0 :(得分:0)

好吧,你可以在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")) {}

并且您不必在任何地方指定错误处理程序......