C#HTML字符串显示
我正在MVC3中制作一个应用程序,我正在以这种格式在数据库中存储一个字符串C#HTML字符串显示,c#,asp.net-mvc,C#,Asp.net Mvc,我正在MVC3中制作一个应用程序,我正在以这种格式在数据库中存储一个字符串 <a href='path'>Text</a> Happy 快乐 该字段正在正确保存,但我必须在网页中显示它的超链接,如 高兴的 但目前它表现得很好 <a href='path'>Text</a> Happy 快乐 如何在网页上将此字符串呈现为HTML?如果使用Razor,则可以按照Phil Haack的使用Razor模板引擎使用@HTML.Raw() @Htm
<a href='path'>Text</a> Happy
快乐
该字段正在正确保存,但我必须在网页中显示它的超链接,如
高兴的
但目前它表现得很好
<a href='path'>Text</a> Happy
快乐
如何在网页上将此字符串呈现为HTML?如果使用Razor,则可以按照Phil Haack的使用Razor模板引擎使用
@HTML.Raw()
@Html.Raw(mystring)
我真的建议不要这样做,因为很难防止脚本注入问题
尽管如此,如果您认为这是可以管理的,您应该能够使用@Html.Raw来呈现文本,而不必转义。如果您不使用razor
和string text=“Happy”代码>
那么您想要的是
,而不是
正如其他人所说,由于HTML注入,这被认为不是一个很好的实践,但似乎HTML注入是您的意图。最好在将HTML存储到数据库之前对其进行编码。。如果您使用的是.NETFramework4,请尝试以下方法
String TestString = "This is a <Test String>.";
String EncodedString = Server.HtmlEncode(TestString);
String TestString=“这是一个。”;
String EncodedString=Server.HtmlEncode(TestString);
看
否则使用
它的工作原理很神奇,而且很容易实现。。未编码不仅危险,因为它可能导致XSS攻击,而且还会导致在html fornt页面上呈现问题
希望能有所帮助。在您的案例中,这些可能不是用户生成的html片段,但请确保您了解在执行此操作时脚本注入的风险。因此,您在“从数据库获取文本”方法(mr)中犯了错误。你能把代码粘贴到这里吗?