Показать LiteralControl в GridView динамически - PullRequest
0 голосов
/ 29 сентября 2011

Я создаю HTML и устанавливаю его в literalControl. Затем я пытаюсь вставить этот literalControl в ItemTemplate ретранслятора.

Но когда я делаю это, он отображается как текст «System.Web.UI.LiteralControl», а не как HTML внутри.

Вот код:

<asp:Repeater>
    //SomeColumns
    <ItemTemplate>
        <%# GetPriorityBox(DataBinder.Eval(Container.DataItem, "StartDate"),
                           DataBinder.Eval(Container.DataItem, "EndDate") %>
    </ItemTemplate>
</asp:Repeater>

Это видно из браузера как:

SomeColumn | SomeColumn | System.Web.UI.LiteralControl

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

Просто добавьте разметку прямо в шаблон элемента. Измените метод GetPriorityBox, чтобы он возвращал свойство Text элемента LiteralControl.

1 голос
/ 29 сентября 2011

Добавьте .Text в конец этого оператора ... он не внедрит элемент управления, используя нотацию <%# %>.Он будет вставлять только разметку, поэтому вам нужно вводить только текст.Если вы хотите ввести элемент управления, нажмите на событие ItemDataBound и программно добавьте элемент управления.

HTH.

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