动态处理控制事件

时间:2013-07-20 05:21:56

标签: c# asp.net .net vb.net visual-studio-2008

我使用以下代码动态创建了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

通过这个我在一个容器中成功获得了5个通道,其容器是:

Panel_API,Panel_Court,Panel_Jail,Panel_Utilities,Panel_Common

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

如何为动态创建的标签控件编写事件?

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

请帮帮我。

1 个答案:

答案 0 :(得分: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