Javascript &引用;请稍等;ASP.NET 3.5中每个用户操作上的图像

Javascript &引用;请稍等;ASP.NET 3.5中每个用户操作上的图像,javascript,dom,javascript-events,updatepanel,asp.net-3.5,Javascript,Dom,Javascript Events,Updatepanel,Asp.net 3.5,在我们的ASP.NET 3.5应用程序中,我们希望实现“请稍候…”功能: 在每个用户操作(按钮单击、选项卡更改等)上,我们都会在页面顶部显示一个小微调器(实际上是在我们已经使用的单独框架中) 我们想到了这个解决方案: “劫持”doPostBack以拦截每个事件,显示微调器图像,然后执行原始的doPostBack函数 在ASP.NET codebehind中注册客户端脚本块,以便在处理结束时隐藏图像 我的问题是:你认为这是一个好的解决方案吗?它当然不是很优雅,但它看起来很有效率。有没有其他解决方案

在我们的ASP.NET 3.5应用程序中,我们希望实现“请稍候…”功能: 在每个用户操作(按钮单击、选项卡更改等)上,我们都会在页面顶部显示一个小微调器(实际上是在我们已经使用的单独框架中)

我们想到了这个解决方案:

  • “劫持”doPostBack以拦截每个事件,显示微调器图像,然后执行原始的doPostBack函数
  • 在ASP.NET codebehind中注册客户端脚本块,以便在处理结束时隐藏图像
  • 我的问题是:你认为这是一个好的解决方案吗?它当然不是很优雅,但它看起来很有效率。有没有其他解决方案/模式来做这种事情


    PS:我们不使用JQuery,我们使用UpdatePanel,我相信您可以将进度指示器附加到UpdatePanel。无论是按事件处理程序还是按属性,我都记不清是哪一个了,有一段时间了,我使用的是jQuery而不是UpdatePanels


    Rich

    因为您已经在使用UpdatePanel,所以只需向页面添加一个控件并将其与UpdatePanel关联即可

    当从UpdatePanel内部启动部分回发时,这将自动显示,并在请求完成后隐藏

    下面是一个示例,只需将img标记指向微调器图像。可以将控件放置在希望其显示的位置

    <asp:UpdateProgress runat="server" AssociatedUpdatePanelID="updatePanel1">
      <ProgressTemplate>
        <img src="./images/somespinner.gif" />Please wait...
      </ProgressTemplate>
    </asp:UpdateProgress>
    
    
    请稍候。。。