Как вызвать событие asp:Button OnClick с помощью JavaScript?

У меня есть вопрос, у меня есть кнопка, как показано ниже:

<asp:Button ID="savebtn" runat="server" OnClick="savebtn_Click" Visible="false" />

Затем у меня есть кнопка HTML, как показано ниже:

<button id="btnsave" onclick="fncsave">Save</button>

У меня есть JavaScript ниже:

<script type="text/javascript">
     function fncsave()
     {
        document.getElementById('<%= savebtn.OnClick %>').click()
     }
</script>

Мой вопрос сейчас, как я могу вызвать asp:Button OnClick от кнопки HTML? Я читал, что вы можете сделать это, позвонив из JavaScript по идентификатору, но не работает.

Любая помощь будет очень признательна.

Спасибо

2 ответа

Решение

Задавать style= "display:none;", Установив visible=false, он не будет отображать кнопку в браузере. Таким образом, клиентский скрипт не будет выполняться.

<asp:Button ID="savebtn" runat="server" OnClick="savebtn_Click" style="display:none" />

HTML-разметка должна быть

<button id="btnsave" onclick="fncsave()">Save</button>

Изменить javascript на

<script type="text/javascript">
     function fncsave()
     {
        document.getElementById('<%= savebtn.ClientID %>').click();
     }
</script>

Если вы открыты для использования jQuery:

<script type="text/javascript">
 function fncsave()
 {
    $('#<%= savebtn.ClientID %>').click();
 }
</script>

Кроме того, если вы используете.NET 4 или выше, вы можете сделать ClientIDMode == static и упростить код:

<script type="text/javascript">
 function fncsave()
 {
    $("#savebtn").click();
 }
</script>

Ссылка: статья MSDN для Control.ClientIDMode

Другие вопросы по тегам