ASPX标签,文本作为锚标签,编码标签不起作用

时间:2017-02-07 02:58:02

标签: javascript html asp.net

我有一个标签,其文本动态设置为锚标记或基于结果的简单文本

`label.Text = result;`

如果结果是锚标记,如下所示

 <a  title="TestLink" class="lnk"  href="#" onclick="javascript:OpenInNewWindow('/test1/test.html');">Tests</a>

该链接在网站中显示为

&lt;a  title="TestLink" class="lnk"  href="#" onclick="javascript:OpenInNewWindow('/test1/test.html');"&gt;Tests&lt;/a&gt;

而不是链接。

我该如何防止这种情况?

1 个答案:

答案 0 :(得分:1)

如果您已包含result的确切值,那就更好了。但是看看你的输出,我猜你在result(如&lt;a title="TestLink" class="lnk" href="#" onclick="javascript:OpenInNewWindow('/test1/test.html');"&gt;Tests&lt;/a&gt;)中得到了html编码的文本,这导致了这种行为。

所以你可以试试以下:

label.Text = HttpUtility.HtmlDecode(result);

请注意,MSDN文章讨论了在标签内显示HTML的安全风险。请在此处阅读详细信息:https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.label.text(v=vs.110).aspx