如何为 asp.net 项目中的所有页面创建加载栏, 根据浏览器加载栏。 并防止用户在加载时执行其他操作? 我是必须对所有使用站点主控的页面还是对每个页面都这样做?
我试过这段代码,但它与 firefox 不兼容,我认为只与 IE 7 兼容。 无论是否加载,它都会保留在 Firefox 上。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
function ShowProgress() {
setTimeout(function () {
var modal = $('<div />');
modal.addClass("modal");
$('body').append(modal);
var loading = $(".loading");
loading.show();
var top = Math.max($(window).height() / 2 - loading[0].offsetHeight / 2, 0);
var left = Math.max($(window).width() / 2 - loading[0].offsetWidth / 2, 0);
loading.css({ top: top, left: left });
}, 200);
}
$('form').live("submit", function () {
ShowProgress();
});
</script>
<div class="loading" align="center">
Loading. Please wait.<br />
<br />
<img src="Style/images/loader.gif" />
</div>
if (!IsPostBack)
{
string script = "$(document).ready(function () { $('[id*=Search]').click(); });";
ClientScript.RegisterStartupScript(this.GetType(), "load", script, true);
}
而且我不能在站点管理员上添加它
最佳答案
我使用更新面板和更新进度为任何服务器端加载创建加载器:
ASPX(网络表单)代码:
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdateProgress ID="progress" runat="server" DynamicLayout="true" DisplayAfter="0">
<ProgressTemplate>
<div id="overlay">
<div id="modalprogress">
<div id="theprogress">
<div class="loading">
Loading…
</div>
</div>
</div>
</div>
</ProgressTemplate>
</asp:UpdateProgress>
关于c# - 每个服务器端事务的加载程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20881784/