2011-12-21 94 views
1

有没有办法停止处理由ASPxGridView网格中定义的自定义按钮启动的回调?ASPxGridView停止回调

我有这个在我的代码:

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

我需要两个解决方案之一:

  1. 立即停止通话(服务器不会被击中) 或
  2. 通知服务器的调用被取消,以便服务器可以从回调处理程序中快速退出。

谢谢。

回答

3

你可以做到这一点..

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

Credit

2

您不能在BeginCallback事件处理程序中取消回调。在回调开始之前,您应该尝试显示确认对话框。我相信你不想为所有网格回调(分页,排序,分组,编辑,自定义回调等)添加确认对话框。
请看官方说明here

0

您不能取消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>