Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#HTML字符串显示_C#_Asp.net Mvc - Fatal编程技术网

C#HTML字符串显示

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

我正在MVC3中制作一个应用程序,我正在以这种格式在数据库中存储一个字符串

 <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)中犯了错误。你能把代码粘贴到这里吗?