MVC 4 - 加载消息或图形

时间:2014-12-16 13:26:19

标签: c# asp.net-mvc-4 serverxmlhttp

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

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

非常感谢任何帮助: - )

2 个答案:

答案 0 :(得分: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>

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

答案 1 :(得分:0)

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