我的目标是在一个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代码也会显示字符实体。
> <a href="XXX.com/soinformation.aspx?SONumber=123456">123456</a>
如何编辑我的查询以生成正确的HTML代码以在broswer中显示?
如果有其他类似的问题,我道歉,但我找不到。感谢您的帮助。
下午3:35太平洋标准时间不得不更新我提出的错误信息的问题。
答案 0 :(得分:0)
默认情况下,gridview中的任何html都会被编码,因此您需要将列设置为HtmlEncode =“False”
此处的其他解决方案:How to render decoded HTML in a (i.e. a <br>) in GridView cell