2013-10-30 2 views
0

Telerik RadWindowManager을 사용하는 웹 응용 프로그램을 사용하여 웹 응용 프로그램의 닫기 (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 번호 : http://www.telerik.com/help/aspnet-ajax/window-application-confirm-closing.html 당신은 추가 코드를 추가 할 수 있습니다

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

감사합니다. Saritha. 네가 설명하는 방식이 정말 멋지다. 그러나 나는 한 점을 놓쳤다 고 생각합니다. 사용자가 X를 클릭하는 것을 멈추어야합니다 (최소화/복원 옆의 가장 오른쪽 모서리에있는 닫기 버튼). – vicage

+0

사물을 얻으려는 어떤 상황에서 닫기 버튼이 필요하지 않은 경우 –

0

이 어떻게 혼자 자바 스크립트 폐쇄 확인하는 방법을 보여줍니다 콜백 함수를 호출하여 필요에 맞 춥니 다.

사용자 정의 RadWIndow의 ContentTemplate에 대한 위 아이디어가 있지만, 모든 버튼이 다시 게시해야하는 것은 아니지만 JavaScript로 더 많은 작업을 수행 할 수 있습니다.

관련 문제