Как показать данные 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>