2017-04-17 65 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