добавление детей в HTML общий контроль asp.net - PullRequest
0 голосов
/ 05 марта 2012

Я пытаюсь программно создать неупорядоченный список, используя 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

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 05 марта 2012

Неважно - я понял, что мне нужно объявить тэг для элемента управления:

objUnorderedListItem.TagName = "li"

Что теперь работает правильно ... глупая ошибкаСпасибо всем.

...