2011-07-28 41 views
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; 
     } 
    } 

} 

回答

0

它似乎並不像項目符號LIS t完全支持插入HTML。

相關問題