ASP.Net 的最佳“加载”反馈?

问题描述 投票:0回答:4

因此,我们有一个 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>

当回发正在进行时,这基本上会使页面变白(但这与模式对话框的灰色背景发生冲突)。在某些情况下,我们有一个进度更新控件,它在页面中间有一个旋转图标。

但它们看起来都不是特别好,而且都有点笨重。 他们还需要在应用程序的各个地方编写大量代码。

其他人使用过哪些方法并认为有效?

asp.net ajax updatepanel progress
4个回答
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" />&nbsp;please wait...
            </div>
            </ProgressTemplate>
</asp:UpdateProgress>

ProgressTemplate 将在关联更新面板的每次回发中可见(本例中为 500 毫秒后)。

班级“进步”可以是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
投票

与其他人一样,我建议在模式弹出窗口中使用 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


1
投票

动画 gif 需要最少的代码,您可以从以下站点选择您最喜欢的颜色和颜色 - Ajaxload - Ajax 加载 gif 生成器


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;">
    &nbsp;
  </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>

© www.soinside.com 2019 - 2024. All rights reserved.