0

タブコンテナ用の次のコードがあり、タブを動的に作成できますが、クリックして別のタブを追加しようとするとすぐに前のタブが消え、ビューステートを維持する方法がわかりません。誰か助けてください私はこれで。

test5.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test5.aspx.cs" Inherits="test5" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<cc1:tabcontainer id="TabContainer1" visible="true" runat="server" Height="150px"> 
    <cc1:TabPanel ID="Tab0" runat="server" HeaderText="Step 1">
        <ContentTemplate>
            Test
            <asp:Button ID="add" Text="Add" OnClick="add_Click" runat="server" />
        </ContentTemplate>
    </cc1:TabPanel> 
</cc1:tabcontainer>  

    </div>
    </form>
</body>
</html>

test5.aspx.cs

using AjaxControlToolkit;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

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

    }

    protected void add_Click(object sender, EventArgs e)
    {
        int currentTab = TabContainer1.ActiveTabIndex;
        int nextTab = currentTab + 1;

        Button btn = new Button();
        btn.ID = "Add" + nextTab.ToString();
        btn.Text = "Add";
        btn.Click += new EventHandler(add_Click);


        TabPanel t = new TabPanel();
        t.ID = "Tab" + nextTab;
        t.HeaderText = "Tab:" + nextTab;
        t.Controls.Add(btn);
        TabContainer1.Tabs.Add(t);
    }
}
4

2 に答える 2