AGS*_*AGS 425 asp.net-mvc razor asp.net-mvc-3
我已经在数据库表中保存了安全/清理的HTML.
如何在Razor视图中写出此HTML内容?
它总是逃避字符<和&符号&.
Lor*_*nzo 638
假设您的内容位于名为mystring... 的字符串中
您可以使用:
@Html.Raw(mystring)
Run Code Online (Sandbox Code Playgroud)
或者,您可以将字符串转换为在模型HtmlString中实现的任何其他类型IHtmlString或直接内联并使用常规@:
@{ var myHtmlString = new HtmlString(mystring);}
@myHtmlString
Run Code Online (Sandbox Code Playgroud)
Tom*_*ler 75
在ASP.NET MVC 3中你应该这样做:
// Say you have a bit of HTML like this in your controller:
ViewBag.Stuff = "<li>Menu</li>"
// Then you can do this in your view:
@MvcHtmlString.Create(ViewBag.Stuff)
Run Code Online (Sandbox Code Playgroud)
And*_*rus 59
您可以使用
@{ WriteLiteral("html string"); }
Run Code Online (Sandbox Code Playgroud)
Tra*_*s J 11
有时使用原始html可能会很棘手.主要是因为XSS漏洞.如果这是一个问题,但你仍然想使用原始html,你可以编码可怕的部分.
@Html.Raw("(<b>" + Html.Encode("<script>console.log('insert')</script>" + "Hello") + "</b>)")
Run Code Online (Sandbox Code Playgroud)
结果是
(<b><script>console.log('insert')</script>Hello</b>)
Run Code Online (Sandbox Code Playgroud)
您可以将字符串放入控制器中的 viewdata 中,如下所示:
ViewData["string"] = DBstring;
Run Code Online (Sandbox Code Playgroud)
然后在视图中调用 viewdata,如下所示:
@Html.Raw(ViewData["string"].ToString())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
272895 次 |
| 最近记录: |