1

我有一个服务器控件,它包装了一个呈现为无序列表的 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;
        }
    }

}

4

1 回答 1

0

It doesn't seem like Bulleted list supports insertion of HTML at all.

于 2011-08-08T10:10:18.017 回答