如何以编程方式向AJAX选项卡添加新选项卡?

时间:2013-10-21 10:07:10

标签: c# asp.net 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();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我认为您不需要将其保留在Session中。只需直接使用TabContainer1

void AddTab()
{ 
    //Create new tab
    AjaxControlToolkit.TabPanel newtab = new AjaxControlToolkit.TabPanel();
    TabContainer1.Tabs.Add(newtab);
}
相关问题