C# 以编程方式将InnerHtml添加到列表项?

C# 以编程方式将InnerHtml添加到列表项?,c#,.net,asp.net,servercontrols,C#,.net,Asp.net,Servercontrols,我有一个服务器控件,它包装一个BulletedList,呈现为无序列表 我希望能够将ListItem文本中的HTML标记呈现为HTML(而不是像现在这样转义) 我开始认为这是不可能的。我在这里看到了几个类似的问题,但他们的答案都涉及到在aspx页面中使用转发器,而我没有。 我知道有些控件具有不同的属性,用于按字面或转义方式呈现内容,例如Text/InnerHTML,但我找不到BulletedList的类似可能性 肯定有可能 下面是使用我的服务器控件(list)的代码隐藏中的代码 项目符号列表似乎

我有一个服务器控件,它包装一个BulletedList,呈现为无序列表

我希望能够将ListItem文本中的HTML标记呈现为HTML(而不是像现在这样转义)

我开始认为这是不可能的。我在这里看到了几个类似的问题,但他们的答案都涉及到在aspx页面中使用转发器,而我没有。 我知道有些控件具有不同的属性,用于按字面或转义方式呈现内容,例如Text/InnerHTML,但我找不到BulletedList的类似可能性

肯定有可能

下面是使用我的服务器控件(
list
)的代码隐藏中的代码


项目符号列表似乎根本不支持插入HTML

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;
        }
    }

}