刘杰瑞 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日

悬赏问题

  • ¥15 网络科学导论,网络控制
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)