2012-04-02 56 views

回答

4

一個可能需要提供一個確認對話框給用戶,如果接受發起一個AJAX請求。使用標準的後背上經常確認是這樣的:

<asp:ImageButton ID="ImageButton1" runat="server" 
    OnClientClick="return confirm('Are you sure?');" /> 

的OnClientClick這個應該修改一下用AJAX的工作:

<asp:ImageButton ID="ImageButton2" runat="server" 
    OnClientClick="if (!confirm('Are you sure?')) return false;" /> 

當按鈕被添加了必要的AJAX設置Ajax化到RadAjaxManager或當按鈕被放置在RadAjaxPanel控件中時。

或者,OnRequestStart客戶端事件可用於實現更復雜的邏輯。下面是一個示例腳本:這裏定義

<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> 
    <script type="text/javascript"> 
     function OnRequestStart(ajaxControl, eventArgs) { 
      var eventTarget = eventArgs.get_eventTarget(); 
      if (eventTarget == "<%= ImageButton1.UniqueID %>") { 
       return confirm('Are you sure?'); 
      } 
      else { 
       return false; 
      } 
     } 
    </script> 
</telerik:RadCodeBlock> 
+0

Gr8非常感謝您的幫助。 – 2012-04-02 13:18:05

+0

花了很多時間尋找解決方案之後,這工作!很好的回答:) – Akina91 2014-12-26 12:20:19

0

如果你想堅持使用的RadControls,您可以使用RadButton作爲ImageButton的:

http://www.telerik.com/help/aspnet-ajax/button-image-buttons.html

與OnClientClicking屬性創建一個按鈕設置爲一個函數,在下面調用確認(或在telerik中的radconfirm):

function ConfirmDeletion(sender, args) { 
    var ContinuePostBack = Function.createDelegate(sender, function (clickedOK) { 
     if (clickedOK) { 
      this.click(); 
     } 
    }); 
    var text = "Are you sure you wish to delete this attribute?"; 
    radconfirm(text, ContinuePostBack, 300, 100, null, "Deletion"); 
    args.set_cancel(true); 
} 

這將取消回發,但t如果用戶單擊確定,則通過代理ContinuePostBack單擊該按鈕。我用這些代碼來提示刪除。

相關問題