【问题标题】:mvc3 Ajax.ActionLink and delaying LoadingElementId from showingmvc3 Ajax.ActionLink 并延迟 LoadingElementId 显示
【发布时间】:2011-07-04 05:07:37
【问题描述】:

我有一个进度 div,它位于网页顶部的绝对位置。

当我单击 Ajax.ActionLink 时,有时我会看到它在顶部闪烁,而请求/响应只是没有即时性。

如何添加延迟以使进度横幅在 500 毫秒内不显示?

谢谢

这是工作代码

var showProgress = false;
function AjaxBegin()
{
    showProgress = true;
    setTimeout("if (showProgress) { $('#progress').show(); }", 800);

}
function AjaxComplete()
{
    showProgress = false;
    $("#progress").hide();
}
function AjaxFailure(ajaxContext)
{
    var response = ajaxContext.responseText;
    alert("Error Code [" + ajaxContext.ErrorCode + "] " + response);
}

Ajax 选项

InsertionMode = InsertionMode.Replace;
OnFailure = "AjaxFailure";
OnBegin = "AjaxBegin";
OnComplete = "AjaxComplete";
HttpMethod = "GET";

【问题讨论】:

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


    【解决方案1】:

    您需要自己处理。

    您可以通过指定OnBegin(显示)和OnComplete(隐藏)事件的函数来处理加载元素的显示/隐藏,而不是指定AjaxOptions.LoadingElementId

    有关AjaxOptions 的更多详细信息,请参阅http://msdn.microsoft.com/en-us/library/dd460351.aspx

    有几种方法可以产生延迟 - 请参阅 How to wait 5 seconds with jQuery?

    这是一个使用 jQuery 实现的示例 - delay the showing of a ajax loading gif using jQuery

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多