Asp.net OnClientClick не отображается для первоначально отключенной кнопки
У меня отключен asp.Button, с которым я позже включаю JavaScript. Как этот
<asp:Button ID="btnSave" runat="server" Text="Save" Enabled="false" OnClientClick="; return ValidateFields();" OnClick="btnSave_Clicked" />
Однако метод "onclick" не отображается как html, когда элемент управления отключен. Моя работа заключается в том, чтобы добавить следующий код в PageLoad.
btnSave.Attributes["onclick"] = "return ValidateFields();";
Есть ли более удобная работа для этого?
Спасибо
Ответы
Ответ 1
Вы можете использовать атрибут html для отключенных
<asp:Button disabled="disabled" ID="btnSave" runat="server" Text="Save" Enabled="false" OnClientClick="; return ValidateFields();" OnClick="btnSave_Clicked" />
Я предполагаю, что вы затем включите его на стороне клиента? если это так, вы можете включить его с помощью:
document.getElementById('MainContent_btnSave').removeAttribute('disabled'); //or jquery alternative where MainContent_btnSave is the clientid of the control
Ответ 2
Ну, очевидно, почему структура работает так: если кнопка отключена, почему она должна иметь обработчик события onclick
? Пользователь не может щелкнуть по нему, если он отключен! Из-за этого структура удаляет атрибут.
Итак, я не думаю, что у вас есть другие возможности, кроме добавления атрибута вручную.