MVC Razor - 将文本输出到屏幕上

Chr*_*ris 11 c# asp.net-mvc razor

String在视图中创建一个并希望将其输出到屏幕.

最初我试过,Response.Write但由于本网站其他地方解释的原因,内容出现在页面顶部.然后我尝试使用@如下输出字符串:@myString.

这很有效,因为它在正确的位置输出文本,但它转发了我放在那里的HTML链接.我该如何解决这个问题?

Ric*_*uza 20

你可以使用Html.Raw():

@Html.Raw(MyStringVar)
Run Code Online (Sandbox Code Playgroud)


Vul*_*ary 5

而不是字符串,你会想要使用:

@{
     var myString = new MvcHtmlString("<tags>Text</tags>");
}
Run Code Online (Sandbox Code Playgroud)

然后当你内联渲染它时:

@myString
Run Code Online (Sandbox Code Playgroud)

它将显示正确的值而不是转义的文本.

编辑:替代方案

另一个选择是您可以只创建内联的MvcHtmlString,以便它适当地呈现.

@(new MvcHtmlString(myString))
Run Code Online (Sandbox Code Playgroud)

  • 甚至更好的`@ MvcHtmlString.Create(myString)` (2认同)