Как создать привязку в элементе списка в 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.