0

我正在尝试使用 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

任何帮助将不胜感激。

4

1 回答 1

0

没关系 - 我意识到我需要为控件声明一个标记名:

objUnorderedListItem.TagName = "li"

现在可以正常工作了……愚蠢的错误。谢谢大家。

于 2012-03-05T19:00:09.407 回答