提问人:Nicolas Roche 提问时间:3/28/2018 最后编辑:Nicolas Roche 更新时间:3/28/2018 访问量:1318
如何在加载过程中禁用asp.button并启用
How to Disable asp.button during loading and enable
问:
我正在寻找一种方法,在调用方法之前禁用按钮并在方法结束时启用。
代码应该是这样的:
Btn.Enabled = false;
MyMethode();
Btn.Enabled = true;
但 Btn 仍然处于启用状态。
注意:所有控件都在 UpdatePanel 中。
我试过 Js:
ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "document.getElementById('BtnClone').disabled = true; ", true);
ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "document.getElementById('BtnClone').disabled = false; ", true);
按钮保持启用状态。
谢谢
答:
0赞
vivek ramasamy
3/28/2018
#1
您可以给出的解决方案是,一旦回发开始,就可以使用加载 gif 图像,将以下代码放在母版页中
<asp:ScriptManager EnablePartialRendering="true" ID="ScriptManagerMain" runat="server"
AsyncPostBackTimeout="360000">
</asp:ScriptManager>
在母版页中的“内容”占位符之前,输入以下更新进度
<script type="text/javascript" language="javascript">
var ModalProgress = '<%= ModalProgress.ClientID %>';
</script>
<script type="text/javascript" src="Scripts/js/jsUpdateProgress.js">
</script>
<asp:Panel ID="panelUpdateProgress" runat="server" CssClass="updateProgress">
<asp:UpdateProgress ID="UpdateProg1" DisplayAfter="0" runat="server">
<ProgressTemplate>
<div class="divWaiting">
<img id="progressImg" src="img/App/Rolling.gif" alt="Processing" height="60px" width="60px" />
</div>
</ProgressTemplate>
</asp:UpdateProgress>
</asp:Panel>
<cc1:ModalPopupExtender ID="ModalProgress" runat="server" TargetControlID="panelUpdateProgress"
BackgroundCssClass="modalBackground" PopupControlID="panelUpdateProgress" />
Progress Div 中使用的 CSS 如下所示
.divWaiting
{
position: fixed;
background-color: #313130;
z-index: 2147483647 !important;
opacity: 0.8;
overflow: hidden;
text-align: center;
top: 0;
left: 0;
height: 100%;
width: 100%;
padding-top: 30%;
}
jsUpdateProgress.js代码如下:
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) {
// hides the Popup
$find(ModalProgress).hide();
}
试试这个,一旦回发开始,它将打开加载的 GIF,并在回发结束时结束。这将防止双击
0赞
Nicolas Roche
3/28/2018
#2
我已经解决了aspx中此代码的问题。
<ProgressTemplate>
<div style="position: fixed; text-align: center; height: 100%; width: 100%; top: 0; right: 0; left: 0; z-index: 9999999; background-color: #000000; opacity: 0.7;">
<span style="border-width: 0px; position: fixed; padding: 50px; background-color: #FFFFFF; font-size: 36px; left: 40%; top: 40%;">Loading ...</span>
</div>
</ProgressTemplate>
它会创建一个加载消息,直到更新面板准备就绪。
评论