2013-10-30 72 views
0

使用Telerik的RadWindowManager一個web應用的web應用程序的關閉(X)。我想要停止用戶直接點擊關閉按鈕,通過發送消息,他有選擇是,否和取消。消息停止用戶點擊直接使用Telerik的radwindowmanager

如果他打是的,意味着他可以去到前一頁保存一些信息到數據庫中,如果沒有,他可以去到上一頁而不保存和取消留在同一個頁面。請分享你的想法。

我嘗試添加OnClientBeforeClose =「OnClientBeforeClose」這裏OnClientBeforeClose定義方法。但它不起作用

<telerik:RadWindowManager ID="Singleton" runat="server" Behaviors="Close, Move, Resize, Maximize"> 
     <Windows> 
      <telerik:RadWindow ID="DialogMsg" 
       ReloadOnShow="true" OnClientClose="OnClientMsgclose" 
       BackColor="Gray" Modal="true" runat="server" 
       NavigateUrl="../messages.aspx"> 
      </telerik:RadWindow> 
     </Windows> 
      <Windows> 
     <telerik:RadWindow ID="DialogAlertMsg" ShowContentDuringLoad="false" OnClientClose="OnCloseOfAlertDialog" EnableViewState="false" ReloadOnShow="true" 
      BackColor="Gray" Modal="true" runat="server" Height="250" Width="350"> 
     </telerik:RadWindow> 
    </Windows>   
</telerik:RadWindowManager> 

回答

0

請嘗試以下代碼以實現您的方案。

ASPX:

<telerik:RadWindowManager ID="winmgr" runat="server"> 
      <Windows> 
       <telerik:RadWindow ID="win1" runat="server" VisibleOnPageLoad="true" OnClientClose="OnClientClose"> 
       </telerik:RadWindow> 
      </Windows> 
     </telerik:RadWindowManager> 
     <telerik:RadWindow ID="confirmWindow" runat="server" VisibleTitlebar="true" VisibleStatusbar="false" 
      Modal="true" Behaviors="None" Height="200px" Width="300px" Title="Confirm Delete"> 
      <ContentTemplate> 
       <div style="padding-left: 30px; padding-top: 20px; width: 200px; float: left;"> 
        <asp:Label ID="lblConfirm" Font-Size="14px" Text="Are you sure ?" runat="server"></asp:Label> 
        <br /> 
        <br /> 
        <telerik:RadButton ID="RadButtonYes" runat="server" Text="Yes" AutoPostBack="false" 
         OnClientClicked="confirmResult"> 
        </telerik:RadButton> 
        <telerik:RadButton ID="RadButtonNo" runat="server" Text="No" AutoPostBack="false" 
         OnClientClicked="confirmResult"> 
        </telerik:RadButton> 
        <telerik:RadButton ID="RadButtonCancel" runat="server" Text="Cancel" AutoPostBack="false" 
         OnClientClicked="confirmResult"> 
        </telerik:RadButton> 
       </div> 
      </ContentTemplate> 
     </telerik:RadWindow> 
     <asp:HiddenField ID="hdn" runat="server" /> 

JS:

function OnClientClose(sender, args) { 
     $find("<%=confirmWindow.ClientID %>").show(); 
     $find("<%=RadButtonYes.ClientID %>").focus(); 

    } 
    function confirmResult(sender, args) { 
     var oWnd = $find("<%=confirmWindow.ClientID %>"); 
     oWnd.close(); 
     if (sender.get_text() == "Yes" || sender.get_text() == "No") { 

      document.getElementById("<%=hdn.ClientID %>").value = sender.get_text(); 
      $find("<%=RadButton1.ClientID %>").click(); 
     } 
    } 

C#:

protected void RadButton1_Click(object sender, EventArgs e) 
    { 
     string value = hdn.Value; 
     if(value=="Yes") 
     { 
      //your code 
     } 
     else if(value=="No") 
     { 
      //your code 
     } 
    } 
+0

謝謝薩里薩。你解釋的方式非常好。但我想我錯過了一點 - 我需要停止用戶點擊X(關閉按鈕在最小化/恢復旁邊的最右邊角落)。 – vicage

+0

如果關閉按鈕不需要您嘗試實現的事件 –

相關問題