当onBegin失败时,Ajax.BeginForm没有隐藏加载元素

时间:2009-07-22 10:06:10

标签: javascript asp.net-mvc asp.net-ajax

我在我的MVC应用程序中使用Ajax.BeginForm帮助器。这是一个简化的例子:

    <% using (Ajax.BeginForm("actionName", new { Controller = "controller" }, new AjaxOptions
           {
               OnBegin = "doValidation",
               LoadingElementId = "ajaxLoader"
           }))
       { %>

问题是如果OnBegin回调返回false,这会正确阻止进行ajax调用,则仍会显示加载元素“ajaxLoader”,而不是隐藏。

我已尝试使用OnFailure和OnComplete回调,但如果OnBegin回调失败,则不会调用这些回调。

有趣的是,在 OnBegin函数返回之后,才会显示加载元素。

我可以通过在自定义javascript函数中明确显示和隐藏ajax加载元素来解决这个问题,但这似乎是助手应该为我真正照顾的事情。

2 个答案:

答案 0 :(得分:0)

如果回调返回true,我会尝试运行if函数只显示ajaxLoader。

答案 1 :(得分:0)

尝试将加载div上的显示样式设置为none。防爆。 ..你的装载图片