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>

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

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

其他人使用什么方法并觉得有效?

4

4 回答 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 毫秒后)。

编辑:“进步”类可以是这样的:

.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;
}

问候,蒂姆

于 2010-04-30T12:00:48.827 回答
1

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

于 2010-04-30T10:59:51.423 回答
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

于 2010-05-04T15:35:43.737 回答
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>

于 2010-04-30T22:16:11.393 回答