在GridView Cell中渲染HTML标记

时间:2013-01-29 13:16:08

标签: c# html asp.net gridview

我有一个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);
    }
}

enter image description here

4 个答案:

答案 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控件..