我在MVC应用程序中使用Ajax.BeginForm帮助器。这是一个简化的示例:
<% using (Ajax.BeginForm("actionName", new { Controller = "controller" }, new AjaxOptions
{
OnBegin = "doValidation",
LoadingElementId = "ajaxLoader"
}))
{ %>
问题是,如果OnBegin回调返回false,从而正确地阻止了ajax调用,则加载元素“ ajaxLoader”仍然显示而不是隐藏。
我尝试使用OnFailure和OnComplete回调,但是如果OnBegin回调失败,则不会调用这两个回调。
有趣的是,只有在OnBegin函数返回后才显示loading元素。
我可以通过在自定义javascript函数中显式显示和隐藏ajax加载元素来解决此问题,但这似乎是帮助者应该真正照顾的事情。
最佳答案
我会尝试运行if函数,以便仅在回调返回true时显示ajaxLoader。
关于javascript - 当onBegin失败时,Ajax.BeginForm不会隐藏加载元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1164251/