2013-10-21 115 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

相关问题