0
我有一個服務器控件包裝BulletedList呈現爲無序列表。以編程方式將InnerHtml添加到ListItem?
我想能夠在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;
}
}
}