Как использовать jQuery, чтобы заставить ASPxButton щелкать?

У меня есть ASPxButton:

<dx:aspxbutton ID="btnRefreshData" runat="server" Text="Refresh" 
                    meta:resourcekey="btnRefreshDataResource1">
                </dx:aspxbutton>

Я использую jQuery, чтобы вызвать нажатие кнопки:

$('#btnRefreshData').click();

Но ничего не получается. Кнопка не нажимает. Не могли бы вы помочь мне найти решение по этому вопросу?

2 ответа

Решение

На самом деле, DevExpress предоставил множество функций JavaScript, чтобы помочь нам сделать это:

aspxBClick("MainContent_btnRefreshData")

"MainContain" является идентификатором держателя контента. Кнопка должна оставаться внутри заполнителя содержимого, чтобы это произошло. Чтобы заархивировать это, мы вызываем функцию "aspxBClick" и передаем параметр, который представляет собой строку, составленную из идентификатора заполнителя содержимого и идентификатора кнопки.

Пример кода:

<script>
aspxBClick("MainContent_btnRefreshData")
</script>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
    <dx:aspxbutton ID="btnRefreshData" runat="server" Text="Refresh" 
                    meta:resourcekey="btnRefreshDataResource1">
                </dx:aspxbutton>
    </asp:Content>

Дополнительный способ:

Мы можем вызвать идентификатор кнопки, чтобы сделать клик:

btnRefreshData.DoClick();

Не забудьте добавить атрибут ClientInstanceName к кнопке:

<dx:aspxbutton ID="btnRefreshData" runat="server" Text="Refresh" ClientInstanceName="btnRefreshData"
                    meta:resourcekey="btnRefreshDataResource1">
                </dx:aspxbutton>
    </asp:Content>

Чтобы инициировать событие нажатия на кнопку devexpress на стороне клиента, определите ее ClientSideEvents.

Вы можете объявить функцию непосредственно в настройках ClientSideEvents:

<dx:ASPxButton ID="ASPxButton1" runat="server" Text="ASPxButton" AutoPostBack="False">
 <ClientSideEvents Click="function(s, e) {
      alert('The Click event has been invoked');
 }" />

или вы можете назначить функцию js, которая будет определена в другом месте:

<dx:ASPxButton ID="ASPxButton1" runat="server" Text="ASPxButton" AutoPostBack="False">
 <ClientSideEvents Click="ASPxButton1_click" />

function ASPxButton1_click(s, e) {
      alert('The Click event has been invoked');
 }

Источник: https://documentation.devexpress.com/

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