我在我的 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 加载元素来解决这个问题,但这似乎是助手真正应该为我处理的事情。
最佳答案
我会尝试运行一个 if 函数,以便仅在回调返回 true 时才显示 ajaxLoader。
关于javascript - 当 onBegin 失败时,Ajax.BeginForm 不隐藏加载元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1164251/