2012-03-19 39 views
3

我无法执行确认对话框以要求用户确认他的删除选择。如果用户单击取消,则RadButton不应回发到服务器。确认对话框从不显示,我做错了什么?Telerik:防止使用RadButton确认对话框回发

<script type="text/javascript"> 
    function confirmAspButton(button) { 
     function aspButtonCallbackFn(arg) { 
      if (arg) { 
       __doPostBack(button.name, ""); 
      } 
     } 
     radconfirm("Are you sure you want to delete?", aspButtonCallbackFn, 330, 110, null, "Confirm"); 
    } 
</script> 


<telerik:RadButton 
    ID="btnDeleteLines" 
    runat="server" 
    OnClientClicking="confirmAspButton(this); return false;" 
    OnClick="btnDeleteLines_Click" 
    Text="Delete line(s)" 
    AutoPostBack="false" 
    GroupName="GroupName1"> 
</telerik:RadButton> 

回答

5

好吧,我发现了CustomRadWindowConfirmthe telerik website描述的方式。

<script type="text/javascript"> 
    //Custom RadWindow Confirm 
    function CustomRadWindowConfirm(sender, args) 
    { 
     //Open the window 
     $find("<%= confirmWindow.ClientID %>").show(); 
     //Focus the Yes button 
     $find("<%= btnYes.ClientID %>").focus(); 
     //Cancel the postback 
     args.set_cancel(true); 
    } 
    function YesOrNoClicked(sender, args) 
    { 
     var oWnd = $find("<%= confirmWindow.ClientID %>"); 
     oWnd.close(); 
     if (sender.get_text() == "Yes") 
     { 
      $find("<%= btnDeleteLines.ClientID %>").click(); 
     } 
    } 
</script> 


<telerik:RadButton 
    ID="btnDeleteLines" 
    runat="server" 
    OnClientClicking="CustomRadWindowConfirm" 
    OnClick="btnDeleteLines_Click" 
    Text="Delete line(s)" 
    AutoPostBack="false" 
    GroupName="GroupName1"> 
</telerik:RadButton>