我有一个服务器控件包装BulletedList,它呈现为无序列表。
我希望能够将ListItem文本中的HTML标记呈现为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;
}
}
}
答案 0 :(得分:0)
看起来Bulleted列表似乎不支持插入HTML。