在 GridView 单元格中呈现 HTML 标签

Posted

技术标签:

【中文标题】在 GridView 单元格中呈现 HTML 标签【英文标题】:Render HTML tags in GridView Cell 【发布时间】:2013-01-13 01:52:41 【问题描述】:

我有一个gridview,我想在一个单元格内插入一个面板,我想在其中呈现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);
    

【问题讨论】:

我认为您可能需要一个锚标记 (HyperLink) 而不是 LiteralControl。 【参考方案1】:

在包含 HTML 的 GridViews 绑定字段中将 HtmlEncode 属性设置为 false

【讨论】:

这解决了我的旧项目问题,谢谢! (3 年后哈哈)【参考方案2】:

使用超链接而不是文字控制..

【讨论】:

【参考方案3】:

我认为,您可以在 System.Net 名称空间中使用 HttpUtility.HtmlDecode。我没有测试过,你可以试试。

【讨论】:

【参考方案4】:

修改单元格的 Text 属性,然后它应该可以工作。目前它只是作为文本粘贴。

另见How to render decoded HTML in a (i.e. a <br>) in GridView cell

【讨论】:

以上是关于在 GridView 单元格中呈现 HTML 标签的主要内容,如果未能解决你的问题,请参考以下文章

如何在 GridView 的 FooterTemplate 单元格中对齐文本

UILabel 不在原型单元格中呈现

如何使用自定义表格视图单元格中识别的点击手势从 UILabel 呈现视图控制器?

如何在Gridview内的表格单元格中找到对文本框的控制

快速找到GridView上的信息?

从 RowDataBound 事件的 gridview 从单元格中获取值