我有一个gridview,我想在一个单元格内插入一个Panel,其中我想要渲染html标签。相反,我在文本中看到了html标签。有什么想法?。
protected void grdThreat_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Panel mainPanel = new Panel();
mainPanel.Controls.Add(new LiteralControl(e.Row.Cells[4].Text));
e.Row.Cells[4].Controls.Add(mainPanel);
}
}
答案 0 :(得分:4)
修改单元格的Text属性,然后它应该工作。目前它只是粘贴为文本。
另见How to render decoded HTML in a (i.e. a <br>) in GridView cell
答案 1 :(得分:4)
在包含HTML
的GridViews绑定字段中将HtmlEncode属性设置为false答案 2 :(得分:0)
我认为,您可以在System.Net nameSpace中使用HttpUtility.HtmlDecode。我没有测试它,但你可以试试。
答案 3 :(得分:0)
使用超链接代替Literal控件..