ASPxGridView остановка обратных вызовов - PullRequest
1 голос
/ 21 декабря 2011

Есть ли способ остановить обработку обратного вызова, инициированного пользовательской кнопкой, определенной в сетке ASPxGridView?

У меня есть это в моем коде:

BeginCallback="function(s, e) {
    var response = confirm('Really want to do this?');
    //if response = false, I need to stop processing...
}"

Мне нужна однаиз двух решений:

  1. немедленно прекратить вызов (сервер не будет подключен) или
  2. сообщить серверу, что вызов был отменен, чтобы сервер мог просто быстро выйти из обратного вызоваобработчик.

Спасибо.

Ответы [ 3 ]

3 голосов
/ 30 января 2013

Вы можете сделать это ..

<ClientSideEvents CustomButtonClick="function(s, e)
{
if(e.buttonID=='Send')
{
if (confirm ('Are you sure?'))
{
e.processOnServer = true;
}
}
else
{
e.processOnServer = true;
}
}
" />

Кредит

2 голосов
/ 21 декабря 2011

Вы не можете отменить обратный вызов в обработчике событий BeginCallback.Вы должны попытаться отобразить диалоговое окно подтверждения перед началом обратного вызова.Я уверен, что вы не хотите добавлять диалог подтверждения ко всем обратным вызовам сетки (разбиение по страницам, сортировка, группировка, редактирование, пользовательские обратные вызовы и т. Д.).
Смотрите здесь *1003* для получения официального объяснения.

0 голосов
/ 22 декабря 2011

Вы не можете отменить обратный вызов в событии BeginCallback.Вы можете сделать что-то подобное в качестве альтернативного решения.

<dxe:ASPxButton ID="btnConfirm" runat="server" AutoPostBack="False" Text="Callback">
    <ClientSideEvents Click="function(s, e) {if(!confirm('Really want to do this?')) return; gvCallbackGrid.PerformCallback();}" />
</dxe:ASPxButton>

<dxwgv:ASPxGridView ID="gvCallbackGrid" runat="server" ClientInstanceName="gvCallbackGrid">
....
</dxwgv:ASPxGridViewTemplateReplacement>
...