在页面加载(检索数据等)时,如何显示asp.net页面中常见的圆形旋转图像?
发布于 2010-04-13 23:14:29
如果你使用的是UpdateProgress/UpdatePanel,这里有一些示例:http://www.asp.net/Ajax/Documentation/Live/overview/UpdateProgressOverview.aspx
下面是一个使用UpdateProgress加载gif的示例:
<asp:UpdateProgress ID="updProg" AssociatedUpdatePanelID="updPnl" DisplayAfter="0" runat="server">
<ProgressTemplate>
<div id="progInd">
<img id="indic" src="/images/loadgifs/z.gif" alt="..." />
</div>
</ProgressTemplate>
</asp:UpdateProgress>
<asp:ScriptManager ID="sm" runat="server" />
<asp:UpdatePanel ID="updPnl" runat="server">
<ContentTemplate>
...
<asp:Timer ID="tmrTrigPostbk" runat="server" Interval="10" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="tmrTrigPostbk" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
protected void Page_Load(object sender, EventArgs e)
{
tmrTrigPostbk.Enabled = !IsPostBack;
}发布于 2010-04-13 22:58:47
你在使用UpdatePanel吗?或者你在使用像Jquery这样的Javascript库?如果是前者,则可以将涡流添加到UpdateProgress。如果是后者(JQuery),则可以在.ajaxStart()方法上触发图像。
HTH
发布于 2010-04-14 00:00:23
我使用jQuery BlockUI插件使这项工作变得非常容易,即使在页面上的某个区域中也是如此。
http://malsup.com/jquery/block/
下面是一个对服务器进行AJAX调用的示例:
function GetNewContactInfo(contactId) {
if (0 === contactId) {
showErrorMsg('You must select a Contact to Retrieve');
return;
}
var request = {
ContactId: 0
};
wjBlockUI();
request.ContactId = contactId;
ContactServiceProxy.invoke({ serviceMethod: "GetContact",
data: { request: request },
callback: function(response) {
DisplayNewContactInfo(response);
},
error: function(xhr, errorMsg, thrown) {
postErrorAndUnBlockUI(xhr, errorMsg, thrown);
}
});
}在DisplayNeewContactInfo函数中,我调用$.unblockUI();来接收消息。我在包装器函数中实际调用了BlockUI调用:
function wjBlockUI(msg) {
var defaultMsg = '<img src="../images/activity.gif" />';
if (null !== msg) {
defaultMsg = msg
}
$.blockUI({ overlayCSS: { backgroundColor: '#aaa' }, message: defaultMsg });}
您可以下载这些示例的整个项目,http://professionalaspnet.com/WCFJQuery.zip
https://stackoverflow.com/questions/2630462
复制相似问题