У меня есть серверный элемент управления, который упаковывает BulletedList, который отображается как неупорядоченный список.
Я хотел бы иметь возможность отображать теги HTML в тексте ListItem как HTML (не экранированный, как сейчас).
Я начинаю думать, что это невозможно. Я видел несколько подобных вопросов здесь, но все ответы на них включают, например, использование. повторители на странице aspx, которых у меня нет.
Мне известно, что некоторые элементы управления имеют различные свойства для отображения содержимого буквально или экранированно, например Text / InnerHTML, но я не могу найти аналогичные возможности для BulletedList.
Конечно, это должно быть возможно ...
Вот код в коде, который использует мой серверный контроль (list
)
protected void RenderItem(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Controls.Add(new LiteralControl("<li >"));
Relation rel = (Relation)e.Item.DataItem;
// rel.List is the control containing the BulletedList
MyList list = rel.List;
e.Item.Controls.Add(list);
e.Item.Controls.Add(new LiteralControl("</li>"));
}
}
Вот соответствующая часть моего списка управления сервером:
public class MyList : Control, INamingContainer
{
private readonly HyperLink _showAllLink = new HyperLink { NavigateUrl = "javascript:void(0);", Visible = false };
private readonly BulletedList _list = new BulletedList();
public ListItemCollection Items
{
get
{
return _list.Items;
}
}
}