C#HTML字符串显示
本文关键字:显示 字符串 C#HTML | 更新日期: 2023-09-27 18:21:09
我在MVC3中制作一个应用程序,我在数据库中以这种格式存储一个字符串
<a href='path'>Text</a> Happy
该字段保存正确,但我必须在网页上显示它与一样的超链接
文本快乐
但目前它表现得像
<a href='path'>Text</a> Happy
如何在网页上将此字符串呈现为HTML?
如果您使用Razor模板引擎:
@Html.Raw(mystring)
如果您使用Razor,您可以根据Phil Haack的快速参考使用@Html.Raw()
最好在将HTML存储到数据库之前对其进行编码。。如果您使用的是.Net Framework 4,请尝试此
String TestString = "This is a <Test String>.";
String EncodedString = Server.HtmlEncode(TestString);
参见msdn
否则使用反xss库
它的工作原理很神奇,而且很容易实现。。Un-Encoded不仅很危险,因为它会导致XSS攻击,而且还会导致在html fornt页面上渲染的问题。
希望能有所帮助。。
我真的建议不要这样做,因为很难防范脚本注入问题。
话虽如此,如果你认为这是可以管理的,你应该能够使用@Html.Raw在不转义的情况下呈现文本。
如果您没有使用剃须刀,
和string text = "<a href='path'>Text</a> Happy";
那么你想要的是<%= text %>
,而不是<%: text %>
正如其他人所说,由于HTML注入,这并不是一个很好的实践,但似乎HTML注入是您的意图。