在我的.aspx
文件中,我有一个按钮
<asp:Button ID="BtnSearch" runat="server" Text="Search" ValidationGroup="SearchRoles" CausesValidation="true" OnClick="BtnSearch_Click" />
通常在.cs
文件中,如果我需要调用该按钮的任何方法,我会调用BtnSearch.method()
,但我在EditClick()
的JavaScript中有一个函数,我想调用BtnSearch.Enable = false
但我得到了一个例外。如何在JavaScript函数中禁用此按钮?
答案 0 :(得分:1)
您可以使用
OnClientClick=""
asp按钮中的属性?
然后运行类似于
的内联代码$(this).prop('disabled', true);
最终观点:
<asp:Button ID="BtnSearch" runat="server" Text="Search" ValidationGroup="SearchRoles" CausesValidation="true" OnClick="BtnSearch_Click" OnClientClick="$(this).prop('disabled', true);"/>
答案 1 :(得分:1)
您可以使用jQuery。现在,您通常不会看到一个不使用jQuery或Javascript Framework的网站。
由于您无法在运行时预测服务器控件ID,因此您希望使用#<%= SearchButton.ClientID %>
。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<asp:Button ID="SearchButton" runat="server" Text="Search"
ValidationGroup="SearchRoles" CausesValidation="true"
OnClick="SearchButton_Click" />
<br />
<input type="checkbox" id="DisableButtonCheckBox" />
Check to disable button
<script type="text/javascript">
$(function () {
$("#DisableButtonCheckBox").click(function () {
if (this.checked) {
$("#<%= SearchButton.ClientID %>").prop("disabled", true);
} else {
$("#<%= SearchButton.ClientID %>").prop("disabled", false);
}
});
});
</script>
我个人不喜欢使用ClientIDMode="static"
,除非我没有任何其他选择。