【发布时间】:2017-06-26 22:34:41
【问题描述】:
我的目标是在一个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 代码以显示在浏览器中?
如果还有其他类似的问题,我深表歉意,但我找不到。提前感谢您的帮助。
太平洋标准时间下午 3:35 必须更新我的问题以提供不正确的信息。
【问题讨论】:
-
不是SQL,gridview默认过滤掉html,有个设置可以开启。 (我想不起来了)。
-
不是应该编辑查询。当您在 asp 中绑定行时,您应该进行某种解码。参见:stackoverflow.com/questions/431840/… 例如
-
很高兴知道!谢谢你们!