繁体   English   中英

C#HTML字符串显示

[英]C# HTML String Display

我正在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

否则使用anti xss库

它的工作就像一个魔术,并且非常容易实现.Un-Encoded不仅危险,因为它可以导致XSS攻击,但它也会导致在html fornt页面上呈现问题。

希望能帮助到你..

我真的建议不要这样做,因为很难防止脚本注入问题。

尽管如此,如果您认为可以管理,您应该能够使用@ Html.Raw来呈现文本而不会转义。

如果你不使用剃须刀,

string text = "<a href='path'>Text</a> Happy";

那么你想要<%= text %> ,而不是<%: text %>

正如其他人所说,由于HTML注入,这不被认为是一种很好的做法,但似乎HTML注入是你的意图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM