0

我使用以下代码动态创建了 5 个 Ajax Tab 面板:

   Dim gv As GridView
            ds = gc.GetDataToListBinder("select distinct(tabname) from Parameteronline where isactive='Y'")
            For i = 0 To ds.Tables(0).Rows.Count - 1

                Dim tpParameter As AjaxControlToolkit.TabPanel = New AjaxControlToolkit.TabPanel()

                tpParameter.ID = "Panel_" & ds.Tables(0).Rows(i)(0).ToString()
                tpParameter.HeaderText = ds.Tables(0).Rows(i)(0).ToString()
                TabContainer1.Tabs.Add(tpParameter)
            Next

通过这个,我在一个 ID 为的容器中成功获得了 5 个帕斯内尔:

Panel_API , Panel_Court , Panel_Jail , Panel_Utilities , Panel_Common

由于所有这些 ID 和面板都是动态创建的,我不明白我应该如何识别任何面板上的点击事件?

如何为动态创建的选项卡控件编写事件?

虽然我在 C# 中使用 VB.NET 答案也可以帮助我。

请帮我。

4

1 回答 1

0

我是通过以下方式做到的:

Protected Sub TabContainer1_ActiveTabChanged(ByVal sender As Object, ByVal e As System.EventArgs) 
    Handles TabContainer1.ActiveTabChanged
                Dim actTab As String = TabContainer1.ActiveTab.ID.ToString()
                Dim gv As GridView

                ds = gc.GetDataToListBinder("select * from ParameterOnline where TabName='Courts'")

                If actTab = "Panel_Courts" Then
                    gv.DataSource = ds.Tables(0)
                    TabContainer1.ActiveTab.Controls.Add(gv)
                End If


            End Sub
于 2013-07-20T06:15:49.507 回答