我是C#的新手。我在InsertItemTemplate中有一个保存按钮。我在第一次单击java脚本后使用了以下代码来禁用该按钮但是它甚至不能用于第一次单击请帮助我。
<asp:ImageButton ID="imgbtnSave" runat="server" CommandName="Add" CausesValidation="true" OnClientClick="this.disabled='true';return true;" />
答案 0 :(得分:1)
您正在修改&#34;禁用&#34;浏览器上DOM对象的属性,但按钮会在点击时回发到服务器,因此对DOM的任何更改都将丢失。
在您处理命令的功能上&#34;添加&#34;在您的服务器代码中,您必须从InsertItemTemplate中检索该按钮并设置其&#34;已启用&#34;属性为false,将禁用服务器端的控制。
如果您想在页面尚未重新加载时避免多次点击,那么您需要一个客户端功能来避免这种情况,如下所示:
<asp:ImageButton ID="imgbtnSave" runat="server" CommandName="Add" CausesValidation="true" OnClientClick="return checkEnabled(this);" />
<!-- somewhere in your page -->
<script>
function checkEnabled(item)
{
if(item.disabled != 'true')
{
item.disabled = 'true';
return true;
}
return false;
}
</script>