如何在提交时禁用按钮并在ASP.NET回发时启用完成
本文关键字:NET 启用 ASP 按钮 提交 | 更新日期: 2023-09-27 18:25:49
我试图在提交时禁用两个ASP.NET按钮,并在回发完成时重新启用它们。要禁用按钮,我使用此代码:
cmdFiltrar.Attributes.Add("onclick", "javascript:" + cmdFiltrar.ClientID + ".disabled=true;" + ClientScript.GetPostBackEventReference(cmdFiltrar, ""))
cmdExcel.Attributes.Add("onclick", "javascript:" + cmdExcel.ClientID + ".disabled=true;" + ClientScript.GetPostBackEventReference(cmdExcel, ""))
它确实有效。但是,我如何或在什么情况下可以重新启用它们?我已经尝试了页面加载事件,但它似乎没有任何效果。
有什么想法吗?谢谢
您不是在使用Ajax来进行post-back。您只是启用客户端脚本(JavaScript
)以导致完整的post返回到服务器(使用__doPostBack
引发事件),除非涉及UpdatePanel
。如果有一个UpdatePanel,它会进行部分回发。不管怎样,这里有两种情况的解决方案。
将此JavaScript
添加到您的页面中。
<script type="text/javascript">
function EnableButton() {
var btn = document.getElementById("<%= cmdFiltrar.ClientID %>");
if (btn.disabled == true) {
btn.disabled = false;
}
}
</script>
如果有完整的回发
调用您体内的上述JavaScript
onLoad
事件
<body onload="EnableButton();">
如果存在部分回发
调用UpdatePanel
客户端onLoad
事件中的JavaScript函数