所以,我们有一个ASP.Net应用程序 - 相当标准 - 并且有很多更新面板和回发。
在某些页面上我们有
<ajax:UpdatePanelAnimationExtender ID="ae" runat="server" TargetControlID="updatePanel" BehaviorID="UpdateAnimation">
<Animations>
<OnUpdating>
<FadeOut Duration="0.1" minimumOpacity=".3" />
</OnUpdating>
<OnUpdated>
<FadeIn minimumOpacity=".5" Duration="0" />
</OnUpdated>
</Animations>
</ajax:UpdatePanelAnimationExtender>
当回发正在进行时,这基本上是白色的(但这与模态对话框灰色背景冲突)。在某些情况下,我们有一个progressupdate控件,在页面中间只有一个spinny图标。
但是它们中没有一个看起来特别好看而且有点笨重。它们还需要在应用程序周围的各个地方提供大量代码。
其他人使用哪些方法并发现有效?
答案 0 :(得分:4)
我没有使用UpdatePanelAnimationExtender,而是将UpdateProgress-Control与动画gif(Bermos Link)结合使用:
<asp:UpdateProgress ID="UpdateProgress1" DynamicLayout="true" runat="server" AssociatedUpdatePanelID="UdpImeiLookup" DisplayAfter="500" >
<ProgressTemplate>
<div class="progress">
<img src="images/ajax-loader-arrows.gif" /> please wait...
</div>
</ProgressTemplate>
</asp:UpdateProgress>
ProgressTemplate将在关联的更新面板的每个回发中显示(在此示例中为500ms之后)。
编辑:课程“进展”可以是f.e.这样:
.progress
{
text-align:center;
vertical-align:middle;
position: absolute;
left: 44%;
top: 35%;
border-style:outset;
border-color:silver;
background-color:Silver;
white-space:nowrap;
padding:5px;
}
此致 添
答案 1 :(得分:1)
GIF动画需要的代码量最少,您可以从以下网站选择您喜欢的颜色 - Ajaxload - Ajax loading gif generator。
答案 2 :(得分:1)
与其他人一样,我建议在模式弹出窗口中使用UpdateProgress。
我将添加此扭曲,将弹出窗口,UpdateProgress和此代码放在母版页中,因此无论何时需要,只需将母版页插入内容页面即可。
<script type="text/javascript">
var ModalProgress ='<%= ModalProgress.ClientID %>';
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginReq);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endReq);
function beginReq(sender, args){
// shows the Popup
$find(ModalProgress).show();
}
function endReq(sender, args)
{
// hide the Popup
$find(ModalProgress).hide();
}
</script>
这里有一些参考:
http://mattberseth.com/blog/2007/07/modalpopup_as_an_ajax_progress.html
http://vincexu.blogspot.com/2008/10/how-to-make-modalupdate-progress-bar-on.html
答案 3 :(得分:0)
这是我使用的,它有一个模态弹出窗口类型背景和一个gif
<asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="0">
<ProgressTemplate>
<div style="position: absolute; width: 100%; height: 100%; z-index: 100; background-color: Gray;
filter: alpha(opacity=70); opacity: 0.7;">
</div>
<table style="position: absolute; width: 100%; height: 100%; z-index: 101;">
<tr>
<td align="center" valign="middle">
<div style="color: Black; font-weight: bolder; background-color: White; padding: 15px;
width: 200px;">
<asp:Image ID="Image3" runat="server" ImageUrl="~/Images/progress.gif" />
Please wait....
</div>
</td>
</tr>
</table>
</ProgressTemplate>