2013-10-21 116 views
1

我正在慢慢地使用我的標籤系統。我希望能夠點擊一個按鈕並添加一個新的選項卡,同時保持其中的其他選項卡和信息。如何以編程方式向AJAX選項卡添加新選項卡?

我已成功使用一個會話,並在測試這個作品它這樣做,但我添加了一個新的標籤這是很好的,那麼下一次我周圍點擊按鈕,它不添加任何進一步的標籤。

所以他們是一個在屏幕上已經,代碼隱藏添加一個,然後是不能添加任何更多。有人知道我的代碼有什麼問題嗎?

namespace Portal 
{ 
    public partial class Tabs : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
     } 

     protected void btnAddTab_Click(object sender, EventArgs e) 
     { 
      RenderExisting(); 
      //ReRender(); 
      AddTab(); 
     } 

     void RenderExisting() 
     { 
      Session["tabs"] = TabContainer1; 
     } 

     void ReRender() 
     { 
      TabContainer1 = (AjaxControlToolkit.TabContainer)Session["tabs"]; 
     } 

     void AddTab() 
     { 
      AjaxControlToolkit.TabContainer tbcDynamic = new AjaxControlToolkit.TabContainer(); 
      //Load the session tabs 
      tbcDynamic = (AjaxControlToolkit.TabContainer)Session["tabs"]; 

      //Create new tab 
      AjaxControlToolkit.TabPanel newtab = new AjaxControlToolkit.TabPanel(); 

      //string name = ""; 
      //short idx = 0; 

      //newtab.HeaderText = name; 
      //newtab.TabIndex = idx; 
      //Add new tab to dynamic tabs 
      tbcDynamic.Tabs.Add(newtab); 

      //Add dynamic tabs to on-screen tabs 
      TabContainer1 = tbcDynamic; 
      Session.Clear(); 
     } 
    } 
} 

回答

0

我不認爲你需要保留在Session。只是使用TabContainer1直接

void AddTab() 
{ 
    //Create new tab 
    AjaxControlToolkit.TabPanel newtab = new AjaxControlToolkit.TabPanel(); 
    TabContainer1.Tabs.Add(newtab); 
} 
+0

我想通了什麼問題,但不知道如何解決它。如果我使用代碼隱藏在屏幕上添加一個標籤,例如tab1,當我再次點擊該按鈕時,在代碼隱藏中找不到該選項卡,並且tabcontainer.rows.count = 0.如果將它們添加到aspx中,但它會工作正常,但當單擊添加新時,它會從代碼隱藏中添加一個,然後再次找不到它。 – connersz

相關問題