Asp.net 以编程方式将动态AJAX控件添加到ASP页面
是否可以通过编程方式将动态AJAX控件添加到ASP页面 现在我在Page_Init事件中动态创建Textbox和Listbox。我有一个只附加到第一个列表框的悬停菜单 我需要将它添加到创建其他控件的循环中,以便它在每个列表框中都可用 这是我的一些代码Asp.net 以编程方式将动态AJAX控件添加到ASP页面,asp.net,ajax,vb.net,Asp.net,Ajax,Vb.net,是否可以通过编程方式将动态AJAX控件添加到ASP页面 现在我在Page_Init事件中动态创建Textbox和Listbox。我有一个只附加到第一个列表框的悬停菜单 我需要将它添加到创建其他控件的循环中,以便它在每个列表框中都可用 这是我的一些代码 Dim num As Integer = Session("lineNums") ' Determines how many text boxes need to be created based on carriage returns f
Dim num As Integer = Session("lineNums") ' Determines how many text boxes need to be created based on carriage returns from textblock.
Dim MainContent As ContentPlaceHolder = CType(Page.Master.FindControl("ContentPlaceHolder1"), ContentPlaceHolder)
Dim ph As PlaceHolder = DirectCast(MainContent.FindControl("PlaceHolder1"), PlaceHolder)
For I = 1 To num
Dim txtD As New TextBox
txtD.ID = "txtDEdit" & I.ToString("D2")
ph.Controls.Add(txtD)
Dim litCtrlD As New Literal
litCtrlD.ID = "litCtrlD" & I.ToString("D2")
litCtrlD.Text = "<br />"
ph.Controls.Add(litCtrlD)
txtD.Text = "ENGLISH"
Dim txtA As New TextBox
txtA.ID = "txtAEdit" & I.ToString("D2")
ph.Controls.Add(txtA)
Dim litCtrla As New Literal
litCtrla.ID = "litCtrla" & I.ToString("D2")
litCtrla.Text = "<br />"
ph.Controls.Add(litCtrla)
Dim txtE As New TextBox
txtE.ID = "txtEEdit" & I.ToString("D2")
ph.Controls.Add(txtE)
Dim litCtrlE As New Literal
litCtrlE.ID = "litCtrlE" & I.ToString("D2")
litCtrlE.Text = "<br />"
ph.Controls.Add(litCtrlE)
txtE.Text = "TRANSLATION"
Dim txtB As New TextBox
txtB.ID = "txtBEdit" & I.ToString("D2")
ph.Controls.Add(txtB)
AddHandler txtB.TextChanged, AddressOf txtBChanged
Dim litCtrl As New Literal
litCtrl.ID = "litCtrl" & I.ToString("D2")
ph.Controls.Add(litCtrl)
Dim lstF As New ListBox
lstF.ID = "lstFEdit" & I.ToString("D2")
ph.Controls.Add(lstF)
Dim litCtrlF As New Literal
litCtrlF.ID = "litCtrlF" & I.ToString("D2")
ph.Controls.Add(litCtrlF)
Dim lstG As New ListBox
lstG.ID = "lstGEdit" & I.ToString("D2")
ph.Controls.Add(lstG)
AddHandler lstG.SelectedIndexChanged, AddressOf lstGChanged
Dim litCtrlG As New Literal
litCtrlG.ID = "litCtrlG" & I.ToString("D2")
ph.Controls.Add(litCtrlG)
Next I
谢谢你在这方面的帮助
编辑:我已将以下代码添加到Page_Init事件中,以尝试构建悬停菜单,但收到如下所述的错误
' ************************************
' Creating Hover
Dim hoverMenuExt As New AjaxControlToolkit.HoverMenuExtender
hoverMenuExt.ID = "hovExtEdit" & I.ToString("D2") **
ph.Controls.Add(hoverMenuExt)
Dim litHoverMenuExt As New Literal
litHoverMenuExt.ID = "litHoverMenuExt" & I.ToString("D2")
ph.Controls.Add(litHoverMenuExt)
**有错误的行:变量“hoverMenuExt.ID”在赋值之前使用。运行时可能会导致空引用异常
这部分有什么想法吗?仅供参考,这是一个很好的链接,展示了如何动态添加标准控件
这提供了对动态控件的深入审查,该动态控件过于复杂,无法在此详述。
Dim hoverMenuExt作为新的AjaxControlToolkit。HoverMenuExtender
' ************************************
' Creating Hover
Dim hoverMenuExt As New AjaxControlToolkit.HoverMenuExtender
hoverMenuExt.ID = "hovExtEdit" & I.ToString("D2") **
ph.Controls.Add(hoverMenuExt)
Dim litHoverMenuExt As New Literal
litHoverMenuExt.ID = "litHoverMenuExt" & I.ToString("D2")
ph.Controls.Add(litHoverMenuExt)