我正在尝试使用asp.net HTMLGenericControl以编程方式创建一个无序列表。
它正确地创建了“ul”父级,但是“li”子级没有被正确创建/添加 - 它们只是包含在默认的“span”标记中。显然我做错了,但我的逻辑是尝试首先创建超链接,然后将它们添加到“li”控件集,然后尝试将整个“li”集添加到“ul”控件。
这是我的代码:
Private Sub CreateTabButtons()
pnlSideMenuItems.Controls.Clear()
Dim objLink As HyperLink
Dim objUnorderedListItem As New HtmlGenericControl("li")
Dim objUnorderedList As New HtmlGenericControl("ul")
For Each TabItem As TabDescriptor In TabDescriptors()
objLink = New HyperLink()
objUnorderedListItem = New HtmlGenericControl()
objLink.NavigateUrl = "javascript:void(0)"
objLink.ID = String.Format("link_{0}", TabItem.PanelId)
If TabItem.IsEnabled Then
objLink.CssClass = "enabled"
objLink.AccessKey = TabItem.AccessKey
Else
objLink.CssClass = "disabled"
End If
objLink.Enabled = TabItem.IsEnabled
objLink.Text = TabItem.Title
//create <li> items from hyperlinks
objUnorderedListItem.Controls.Add(objLink)
//add <li> items to <ul> control
objUnorderedList.Controls.Add(objUnorderedListItem)
Next
//after loop exit, add the entire unordered list control to the panel
pnlSideMenuItems.Controls.Add(objUnorderedList)
End Sub
非常感谢任何帮助。
答案 0 :(得分:0)
没关系 - 我意识到我需要为控件声明一个标记名:
objUnorderedListItem.TagName =“li”
现在哪个正常......愚蠢的错误。谢谢大家。