-1

处理函数时是否可以显示加载消息或图形?

我目前有一个控制器,它在返回视图之前执行所有功能。但是,由于该功能的一部分包括一个 ServerXMLHTTP 进程,因此在连接到第 3 方服务器时可能需要 30 秒以上的时间。这对于在用户等待xmlHttp.readyState完成时观察到空白屏幕的用户来说显然不是理想的。

任何帮助将非常感激 :-)

4

2 回答 2

0

我发现这个解决方案可以完美地满足我的需要,请看http://blog.michaelckennedy.net/2012/11/13/improve-perceived-performance-of-asp-net-mvc-websites-with-async-partialviews/这是最有帮助的。

于 2014-12-18T08:30:02.683 回答
0

这是一个在页面之间插入自身的 javascript 加载页面的示例。此代码在加载之前放置在页面上。我使用了一个简单的提交按钮来提交我的搜索查询。您可以从这里获取 ajax 加载 gif:

http://www.ajaxload.info/

<div id="divLoading" style="margin: 0px; padding: 0px; position: fixed; right: 0px;
top: 0px; width: 100%; height: 100%; background-color: #666666; z-index: 30001;
opacity: .8; filter: alpha(opacity=70);display:none">
    <p style="position: absolute; top: 30%; left: 45%; color: White;">
        Loading, please wait...<img src="../../Content/themes/base/images/ajax-loading.gif">
    </p>
</div>

<button type="submit" class="btn btn-success" onclick="JavascriptFunction()"value="filter" name="searchQuery">SUBMIT</button>

 <script type="text/javascript" language="javascript">
function JavascriptFunction() {
    var url = '@Url.Action("PostMethod", "Home")';
    $("#divLoading").show();
    $.post(url, null,
            function (data) {
                $("#PID")[0].innerHTML = data;
                $("#divLoading").hide();
            });
}
</script>

基本上,当用户单击提交按钮时,加载程序会出现,直到加载下一个方法/数据/视图。

于 2014-12-16T19:15:13.720 回答