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

asp.net webform中事件调用JavaScript脚本
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
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>
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报