2010-05-24 3 views
1

동적 탭 기능을 만들었습니다. 동적 탭을 만들면 해당 탭에 대한 페이지 뷰가 생성됩니다. 하지만 그 탭을 삭제하면 페이지 뷰가 삭제되지 않습니다. 어느 누구도이 문제를 해결할 수 있습니까?동적으로 생성 된 페이지 뷰 문제

using System; 

using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; Telerik.WebControls를 사용하는 ; Telerik을 사용하는 ;

공용 부분 클래스 Radstrip2 : System.Web.UI.Page { protected System.Web.UI.WebControls.Label PageContent; protected System.Web.UI.WebControls.Repeater BuildingSummary; Telerik.WebControls.PageView protected PageView1;

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
     Tab tab = new Tab(); 
     tab.Text = string.Format("New Page {0}", 1); 
     RadTabStrip1.Tabs.Add(tab); 

     PageView pageView = new PageView(); 
     RadMultiPage1.PageViews.Add(pageView); 

     BuildPageViewContents(pageView, RadTabStrip1.Tabs.Count); 
     RadTabStrip1.SelectedIndex = 0; 

    } 
} 

private void BuildPageViewContents(PageView pageView, int index) 
{ 
    pageView.ID = "Page " + index.ToString(); 
    pageView.Controls.Add(new LiteralControl(" <B>New page</B>" + (index).ToString())); 
} 

protected void Button1_Click(object sender, EventArgs e) 
{ 

    Tab tab = new Tab(); 
    tab.Text = string.Format("New Page {0}", RadTabStrip1.Tabs.Count + 1); 
    RadTabStrip1.Tabs.Add(tab); 

    PageView pageView = new PageView(); 
    pageView.ID = "Page " + pageView.Index.ToString(); 
    RadMultiPage1.PageViews.Add(pageView); 

    BuildPageViewContents(pageView, RadTabStrip1.Tabs.Count); 
    RadTabStrip1.SelectedIndex = RadTabStrip1.SelectedIndex + 1; 
    RadMultiPage1.SelectedIndex = RadTabStrip1.SelectedIndex; 

} 

protected void Button2_Click(object sender, EventArgs e) 
{ 
    Tab currentTab = RadTabStrip1.InnerMostSelectedTab; 

    if (currentTab != null) 
    { 
     ITabContainer owner = currentTab.Owner; 
     owner.Tabs.Remove(currentTab); 
     //RadMultiPage1.PageViews.Remove(currentTab.PageView); 
     if (owner.Tabs.Count > 0) 
     { 
      owner.SelectedIndex = 0; 
     } 
    } 
} 

protected void RadMultiPage1_PageViewItemCreated1(PageView view, int viewIndex) 
{ 
    BuildPageViewContents(view, viewIndex + 1); 
} 

}

답변

1

나는 당신의 Button2_Click() 메소드에서 현재 선택된 탭을 제거하지만 현재의 페이지 뷰를 제거하지 않는 것을 알 수있다.

RadMultiPage1.PageViews.RemoveAt(RadMultiPage1.SelectedIndex); 

이 현재 선택한 페이지보기

+0

을 제거해야합니다 나는 당신의 도움이 감사를 가지고 : 당신과 함께 시도 할 수 있습니다. – Philly

관련 문제