2012-06-26 2 views
4

안녕하세요, 저는 모두 업데이트 패널 안에있는 드롭 다운과 텍스트 상자 및 버튼이있는 radwindow 관리자를 설계했습니다.Radwindow 관리자 양식 서버 쪽 단추를 닫는 방법

모든 일이 잘 작동하지만 버튼을

RadWindowManager1.Windows[0].VisibleOnPageLoad = false;

를 다음과 같이 내 창 관리자를 폐쇄하고 그러나 이것은 어떤 사람이 날이 내 디자인과 코드

<telerik:RadWindowManager ID="RadWindowManager1" runat="server" Behavior="Default" 
     InitialBehavior="None"> 
     <Windows> 
      <telerik:RadWindow ID="RadWindow1" runat="server" Behaviors="Default" InitialBehaviors="None" 
       OpenerElementID="btn" Width="650" Height="480" VisibleOnPageLoad="false">      
       <ContentTemplate> 
        <asp:UpdatePanel ID="up" runat="server" OnUnload="up_Unload"> 
        <Triggers> 
        <asp:AsyncPostBackTrigger ControlID="rdcmb" EventName="SelectedIndexChanged" /> 
        <asp:AsyncPostBackTrigger ControlID="radbtn" EventName="Click" /> 
        </Triggers> 
         <ContentTemplate> 
          <telerik:RadComboBox ID="rdcmb" runat="server" AutoPostBack="true" OnSelectedIndexChanged="sel"> 
           <Items> 
            <telerik:RadComboBoxItem Text="One" Value="One" /> 
            <telerik:RadComboBoxItem Text="Two" Value="Two" /> 
            <telerik:RadComboBoxItem Text="Three" Value="Three" /> 
            <telerik:RadComboBoxItem Text="Four" Value="Four" /> 
           </Items> 
          </telerik:RadComboBox> 
          <telerik:RadTextBox ID="rdText" runat="server"> 
          </telerik:RadTextBox> 
          <telerik:RadButton ID="radbtn" runat="server" Text="Save" OnClick="btn_Click"> 
          </telerik:RadButton> 
         </ContentTemplate> 
        </asp:UpdatePanel> 
       </ContentTemplate> 
      </telerik:RadWindow> 
     </Windows> 
    </telerik:RadWindowManager> 
    <telerik:RadButton ID="rdbtnwhAnother" Text="Add WithHolding" runat="server" ButtonType="LinkButton" 
     OnClick="rdbtnwhAnother_Click"> 
    </telerik:RadButton> 
되는 데 도움이 작동하지 않았다 클릭

코드

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     RadWindowManager1.Windows[0].VisibleOnPageLoad = false; 
    } 
} 

protected void rdbtnwhAnother_Click(object sender, EventArgs e) 
{ 
    RadWindowManager1.Windows[0].VisibleOnPageLoad = true; 
} 

protected void btn_Click(object sender, EventArgs e) 
{ 
    RadWindowManager1.Windows[0].VisibleOnPageLoad = false; 
} 

protected void sel(object sender, EventArgs e) 
{ 
    rdText.Text = rdcmb.SelectedItem.Text; 
} 

protected void up_Unload(object sender, EventArgs e) 
{ 
    /* Cast sender as an updatePanel, and use reflection to invoke * * the page's scriptmanger registerUpdatePanel() method * * */ 
    //RadWindowManager1.Windows[0].VisibleOnPageLoad = false; 
    UpdatePanel aUpdatePanel = sender as UpdatePanel; 

    MethodInfo m = (
     from methods in typeof(ScriptManager).GetMethods(
      BindingFlags.NonPublic | BindingFlags.Instance 
      ) 
     where methods.Name.Equals("System.Web.UI.IScriptManagerInternal.RegisterUpdatePanel") 
     select methods).First<MethodInfo>(); 

    m.Invoke(ScriptManager.GetCurrent(aUpdatePanel.Page), new object[] { aUpdatePanel }); 
} 
+0

GetRadWindow(). 닫기(); –

답변

4
<script type="text/javascript"> 

    function getRadWindow() { 
     var oWindow = null; 
     if (window.radWindow) oWindow = window.radWindow; 
     else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; 
     return oWindow; 
    } 

    function clientClose(arg) { 
     getRadWindow().close(arg); 
    } 

</script> 

<telerik:RadButton ID="radbtn" runat="server" Text="Save" OnClick="btn_Click"> 
</telerik:RadButton> 

protected void btn_Click(object sender, EventArgs e) 
{   
    string script = "clientClose('');"; 

    ScriptManager.RegisterStartupScript(Page, typeof(Page), 
     "closeScript", script, true); 
} 
+0

감사합니다, 이것은 'radopen'으로 열린 창문에 정신이 없었습니다. –