Добавить InnerHtml в ListItem программно? - PullRequest
1 голос
/ 28 июля 2011

У меня есть серверный элемент управления, который упаковывает BulletedList, который отображается как неупорядоченный список.

Я хотел бы иметь возможность отображать теги HTML в тексте ListItem как 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;
        }
    }

}

1 Ответ

0 голосов
/ 08 августа 2011

Похоже, что маркированный список вообще не поддерживает вставку HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...