从数据库查询多个超链接以在gridview

时间:2017-06-26 22:34:42

标签: html asp.net

我的目标是在一个gridview的单元格中用逗号分隔多个超链接,我能想到的唯一方法是在查询数据时生成HTML代码。

我有一个简单的查询,可以根据匹配创建多个超链接

SELECT A.TOLineKey, 
    STUFF((SELECT ',' + '<a href="XXX.com/soinformation.aspx?SONumber=' + CAST(SO3.SalesOrderNumber AS VARCHAR) + '" >' + CAST(SO3.SalesOrderNumber AS VARCHAR) + '</a>'
    FROM Table1 T 
    LEFT JOIN Table2 SO3 ON SO3.SOKey=T.SOKey 
    WHERE T.TOLineKey=A.TOLineKey FOR XML PATH(''))1,1,'') AS SONumber
FROM Table1 A
GROUP BY A.TOLineKey

上面的查询将为SONumber产生以下结果:

<a href="XXX.com/soinformation.aspx?SONumber=123456" >123456</a>

但是,当我将上面的数据传递给girdview时,它实际上将HTML代码显示为字符串。当我在浏览器中检查代码时,HTML代码也会显示字符实体。

> &lt;a href=&quot;XXX.com/soinformation.aspx?SONumber=123456&quot;&gt;123456&lt;/a&gt;

如何编辑我的查询以生成正确的HTML代码以在broswer中显示?

如果有其他类似的问题,我道歉,但我找不到。感谢您的帮助。

下午3:35太平洋标准时间不得不更新我提出的错误信息的问题。

1 个答案:

答案 0 :(得分:0)

默认情况下,gridview中的任何html都会被编码,因此您需要将列设置为HtmlEncode =“False”

此处的其他解决方案:How to render decoded HTML in a (i.e. a <br>) in GridView cell