我的mvc.net网站非常广泛地使用了ajax。到目前为止,我一直在处理ajax错误,但在大多数情况下,我总是做同样的事情。
对于jquery ajax调用,我正在设置ajaxSetup错误配置,以便它完成我想要的操作。不幸的是,当我使用带有剃刀的ActionLink或ajax表单时,这似乎没有太大作用。对于那些,我必须将OnFailure的AjaxOptions设置为一些javascript方法。
虽然我可以将它们全部指向同一个方法,但我希望能够在不必显式设置AjaxOptions的情况下完成此操作。是否有办法使所有mvc.net ajax调用使用相同的事件处理程序(除非被覆盖),类似于jquery允许你这样做?
我确信之前已经问过这个问题,但我没有看到任何好的解决方案。
答案 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")) {}
并且您不必在任何地方指定错误处理程序......