0

我想创建这样的嵌套标签:

<ul>
    <li><a href="">xxx</a></li>
</ul>

然后我BulletedList在页面中添加一个控件:

<asp:BulletedList runat="server" CssClass="ad-thumb-list" ID="ImageItem">
</asp:BulletedList>

然后我ListItem在代码中添加:

    DataTable dt = queryDb(xx);
    foreach (DataRow dr in dt.Rows)
    {
        HyperLink hl = new HyperLink();
        hl.NavigateUrl = string.Format("../stream.aspx?type=={0}",dr["type"]);

        ListItem li = new ListItem();
        //here how to add the `hl` to `li`
        ImageItem.Items.Add(li);
    }

在上面的代码中,我不知道将a标签添加到li.

我想使用这样的东西:

li.Controls.Add(hl); 

但这似乎是不可能的。

问题是什么?

4

3 回答 3

1

您需要设置DisplayModehas Hyperlink( BulletedListDisplayMode.HyperLink)

    ImageItem.DisplayMode = BulletedListDisplayMode.HyperLink;

    foreach (DataRow dr in dt.Rows)
    {
        ListItem li = new ListItem("PLACE-THE-LINK-TEXT", string.Format("../stream.aspx?type=={0}",dr["type"]));
        //here how to add the `hl` to `li`
        ImageItem.Items.Add(li);
    }
于 2013-01-16T09:58:58.427 回答
0

这是您可以执行的操作: DisplayMode 属性

ListItem item = new ListItem("MicroSoft", "http://www.microsoft.com");
ListItem item1 = new ListItem("Google", "http://www.google.com");
BulletedList1.Items.Add(item);
BulletedList1.Items.Add(item1);
于 2013-01-16T08:21:51.167 回答
0

ListItem 不是容器,因此不提供要添加的控件。请改用ListViewDataItem

于 2013-01-16T08:29:03.397 回答