【发布时间】:2011-11-21 16:38:31
【问题描述】:
我正在使用 ASP MVC 2 和 JQuery。我有一个由 HTML Helper Ajax.BeginForm 组成的搜索掩码。基本上是这样的:
Ajax.BeginForm("MyAction", new AjaxOptions{... LoadingElementId = "LoadingElement", OnComplete = "HideLoadingAnimation"...}
ID 为“LoadingElement”的 div 元素只包含一个动画 gif 图像。在其 CSS 定义中,它具有以下值:
#LoadingAnimationWindow{ position: fixed; border-width: 10px; display:none; z-index: 9999;}
我还创建了一个不错的动画蒙版,它在显示加载动画时在页面上创建一个透明但彩色的覆盖层。它的CSS定义如下:
#LoadingAnimationMask{ position:absolute; z-index: 9000; display:none;}
HideLoadingAnimation() 函数如下所示:
function HideLoadingAnimation() {$('#LoadingAnimationMask, #LoadingAnimationWindow').hide();}
现在当我搜索时,我的 Ajax.BeginForm 从上面被提交。这一切都很好。加载动画等全部显示。但是,当我快速提交表单可能连续 3 或 4 次时,我的加载动画不会消失。它只是挂在那里,不会消失。仅当我快速重新提交表单时才会发生这种情况。我知道这可能是您可以忍受的那种错误,但我仍然想修复它。有谁知道解决方案或有没有人遇到过同样的问题?感谢您的帮助:)
【问题讨论】:
-
当这种行为发生时你确定没有 JS 错误吗?
-
我会检查并回复您。感谢您的提示:)
-
我检查了 IE9 开发人员工具(该站点只需要使用 IE 8/9)和 Visual Studio 都没有显示任何 JS 错误。您是否建议使用 Firefox 的 firebug 进行检查,或者 IE9 开发工具是否应该捕获 JS 错误(如果发生)?
-
是的,FireBug 或 Chromes 开发工具几乎在所有方面都优于 ie 开发工具。即使网站不需要运行这些浏览器,开发工具也非常方便。
标签: asp.net asp.net-mvc ajax