2017-04-17 63 views
0

我有一个dxo提交按钮。它有一个包含一些逻辑的点击处理程序。 我的目标是通过将一些逻辑放入点击处理程序来有条件地阻止它提交。我尝试了很多JavaScript解决方案: 我已经尝试过event.preventDefault(),它甚至尝试添加另一个单击处理程序,并将逻辑放入其中,但似乎并未将该处理程序添加到该按钮。我也尝试过form.unpulish事件处理程序,但最终获得了相同的结果。通过devexpress提交按钮阻止表单发布?

更新:其实我可以使用form.unpublish事件处理程序来做到这一点。不过,如果可能的话,我宁愿通过点击处理程序来完成。

任何人都可以有任何想法如何解决这个问题?

回答

0

ASPxButton的客户端Click事件提供了e.processOnServer参数。您可以将其设置为False以取消回发。请尝试以下操作:

<dxe:ASPxButton ID="ASPxButton1" runat="server" Text="ASPxButton1" OnCommand="ASPxButton1_Command" 
    AutoPostBack="true" ClientInstanceName="ASPxButton1"> 
    <ClientSideEvents Click=" 
    function(s, e) 
    { 
     if (!confirm('add?')) 
     { 
      e.processOnServer = false; 
     } 
    } 
} 
" /> 
</dxe:ASPxButton> 

参考文献:
cancel postback with javascript on aspxbutton
How avoid the postback when click ASPXButton
how to prevent postback using the aspxbutton control with clientsideevnts
ASPxButton - Prevent a server postback in the client-side Click event handler

+0

其实我解决了使用添加在js文件再点击一下处理程序按钮的问题,并得到了它加工。但是,如果这样做,我会欣赏它,并将其作为正确的答案。 – Jami