我真的想在asp.net中如何预加载?
例如,当单击按钮时,会出现一个动画gif,几秒钟后会出现一个面板或div! (就像在Facebook的很多地方)
我怎么能在asp.net中做到这一点?
(是否需要jquery来完成这项工作?如果是,哪些插件?)
答案 0 :(得分:1)
首先是在即将加载的页面
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
pnlLoading.Visible = true;
}
当我有更新面板时,我使用Update Progress自动处理它。
第三个是使用jQuery的ajax调用。 当我即将进行ajax调用时,我使用此
$('#<%=updProgress.ClientID %>').css("display", "block");
当ajax调用完成后,我使用了这个
$('#<%=updProgress.ClientID %>').css("display", "none");
以下是标记中的加载指示符。这两个放在身体标签后面。
<asp:Panel ID="pnlLoading" runat="server" Visible="true">
<div class="progressBackgroundFilter">
</div>
<div class="processMessage">
<img src="/_layouts/Img/ajax-loader.gif" alt="Loading" />
</div>
</asp:Panel>
<asp:UpdateProgress ID="updProgress" runat="server">
<ProgressTemplate>
<div class="progressBackgroundFilter">
</div>
<div class="processMessage">
<img src="/_layouts/Img/ajax-loader.gif" alt="Loading" />
</div>
</ProgressTemplate>
</asp:UpdateProgress>
当页面加载时我使用
$(document).ready(function () {
var objdiv = $('#<%=pnlLoading.ClientID%>');
if (objdiv) {
objdiv.css('visibility', 'hidden');
}
$('#<%=updProgress.ClientID%>').css("display", "none");
});
希望这有帮助