Как создать привязку в элементе списка в ASP.NET WebForms

Я хочу создать вложенные теги так:

<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); 

Но кажется, что это невозможно.

В чем проблема?

3 ответа

Решение

Вам нужно установить DisplayMode имеет 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);
    }

Вот что вы можете сделать: Свойство 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);

ListItem не является контейнером, поэтому не предоставляет элементы управления для добавления. Вместо этого используйте ListViewDataItem.

Другие вопросы по тегам