刘杰瑞 2022-05-31 21:23 采纳率: 90.9%
浏览 33
已结题

asp.net webform中事件调用JavaScript脚本

在一个button控件的点击事件中,要调用一个函数计算。由于时间较长,想加一个加载动画提示用户正在运行程序。
那么一个事件如果写成
void buttonclick(){
脚本显示加载动画;
函数计算;
脚本关闭加载动画;
}
这种写法能实现让用户看见加载动画,计算结束后,动画关闭,显示计算结果吗?

  • 写回答

2条回答 默认 最新

  • Yijing Sun 2022-06-01 10:28
    关注

    你好,
    你可以用asp.net Ajax progress bar 来显示进度。

    <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
             <script type="text/javascript">
                 // Get the instance of PageRequestManager.
                 var prm = Sys.WebForms.PageRequestManager.getInstance();
                 // Add initializeRequest and endRequest
                 prm.add_initializeRequest(prm_InitializeRequest);
                 prm.add_endRequest(prm_EndRequest);
                
                 // Called when async postback begins
                 function prm_InitializeRequest(sender, args) {
                     // get the divImage and set it to visible
                     var panelProg = $get('divImage');                
                     panelProg.style.display = '';
                     // reset label text
                     var lbl = $get('<%= this.lblText.ClientID %>');
                     lbl.innerHTML = '';
     
                     // Disable button that caused a postback
                     $get(args._postBackElement.id).disabled = true;
                 }
     
                 // Called when async postback ends
                 function prm_EndRequest(sender, args) {
                     // get the divImage and hide it again
                     var panelProg = $get('divImage');                
                     panelProg.style.display = 'none';
     
                     // Enable button that caused a postback
                     $get(sender._postBackSettings.sourceElement.id).disabled = false;
                 }
             </script>
     
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <asp:Label ID="lblText" runat="server" Text=""></asp:Label>
                    <div id="divImage" style="display:none">
                         <asp:Image ID="img1" runat="server" ImageUrl="~/images/progress.gif" />
                         Processing...
                    </div>                
                    <br />
                    <asp:Button ID="btnInvoke" runat="server" Text="Click"
                        onclick="btnInvoke_Click" />
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月1日
  • 已采纳回答 6月23日
  • 创建了问题 5月31日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装