如何在按钮单击时将tabPanel添加到tabContainer

时间:2013-03-01 10:08:36

标签: asp.net ajax vb.net

我在更新面板中有一个标签容器。我想在按钮点击时将生成的标签添加到该容器。选项卡已添加。一次,下次单击按钮时,前一个选项卡将丢失,新的选项卡将替换它。如果可能的话,我想保留标签。这些选项卡稍后将根据单击的按钮填充控件。

我发现很多帖子都暗示必须在PostBack上重新创建标签,但它不起作用。我不认为我知道怎么做。

我当前的aspx文件。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" ViewStateMode="Enabled">
    </asp:ScriptManager>

    <asp:Button ID="Button1" runat="server" Text="Add Tab" />
    <div>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <ajaxToolkit:TabContainer ID="TabContainer1" runat="server" 
                    ViewStateMode="Enabled">
                </ajaxToolkit:TabContainer>
                <br />
                <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="Button1" />
            </Triggers>
        </asp:UpdatePanel>

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

到目前为止,这是代码隐藏。

Imports AjaxControlToolkit

Public Class WebForm1
    Inherits System.Web.UI.Page

    Private Sub WebForm1_Load(sender As Object, e As System.EventArgs) Handles Me.Load

    End Sub

    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim newTab As TabPanel = New TabPanel
        Dim rand As New Random
        Dim exampleID As String = rand.Next(1000).ToString
        newTab.ID = exampleID
        newTab.HeaderText = exampleID
        newTab.Controls.Add(New LiteralControl(exampleID))
        TabContainer1.Tabs.Add(newTab)
        Label1.Text = Label1.Text + "<br />" + "Added tab " + newTab.ID.ToString 'Just here for output.
    End Sub

End Class

我确定当前打开的标签必须存储在某处并在更新面板的回发上重新创建,但就像我说的那样。我在哪里放置代码以及如何存储?

任何帮助将不胜感激!谢谢!

0 个答案:

没有答案