Как показать данные HTML в виде обычной строки в таблице в Repeater, используя asp.net?

Я хочу показать данные HTML в виде обычной строки в ячейке данных таблицы. Ниже приведен мой код и скриншот результата.

ASPX

<asp:Repeater ID="rptMainTable" runat="server">
    <HeaderTemplate>
    </HeaderTemplate>
    <ItemTemplate>
        <td><%# Eval("FieldValue").ToString()%></td>
    </ItemTemplate>
    <FooterTemplate>
    </FooterTemplate>
</asp:Repeater>

CS

private void addListData()
{
    List<TableClass> listTableAction = new List<TableClass>();
    listTableAction.Add(new TableClass(){ FieldValue = "<b>TestBold</b>"});
    listTableAction.Add(new TableClass(){ FieldValue = "test"});
    rptMainTable.DataSource = listTableAction;
    rptMainTable.DataBind();
}

Результат

введите описание изображения здесь

1 ответ

Решение

Использование HtmlEncode

<asp:Repeater ID="rptMainTable" runat="server">
    <HeaderTemplate>
    </HeaderTemplate>
    <ItemTemplate>
        <td><%# HttpUtility.HtmlEncode(Eval("FieldValue").ToString()) %></td>
    </ItemTemplate>
    <FooterTemplate>
    </FooterTemplate>
</asp:Repeater>

Это будет отображать строку как <b>TestBold</b>

Другие вопросы по тегам