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 に答える