回答
假設您的內容是一個名爲mystring
字符串中...
您可以使用:
@Html.Raw(mystring)
或者您可以將字符串轉換爲HtmlString
或在模型或直接實現IHtmlString
任何其他類型內聯和使用常規@
:
@{ var myHtmlString = new HtmlString(mystring);}
@myHtmlString
感謝您的回答。幫助我完成了我正在學習的一些小任務。 :)但是我使用的是最新版本的MVC3,至今沒有Html.Raw :( – 2010-12-14 13:19:10
您好Sergio。我正在使用MVC 3,並且正在使用原始方法 – 2011-01-29 02:10:26
謝謝你的回答!我仍然在學習MVC 3,這是逃避我 – 2011-04-20 04:25:09
在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)
@MvcHtmlString.Create(ViewBag.Stuff)
通過Dommer的建議
除此之外,我建議你也使用AntiXSS庫的建議菲爾http://haacked.com/archive/2010/04/06/using-antixss-as-the-default-encoder-for-asp-net.aspx
它編碼的幾乎所有可能的XSS攻擊的字符串。
您可以使用
@{ WriteLiteral("html string"); }
你可以把你的字符串轉換成可視數據在控制器這樣的:
ViewData["string"] = DBstring;
然後調用像這樣的觀點,即可視數據:
@Html.Raw(ViewData["string"].ToString())
有時使用原始html可能會很棘手。主要是由於XSS漏洞。如果這是一個問題,但你仍然想使用原始html,你可以編碼可怕的部分。
@Html.Raw("(<b>" + Html.Encode("<script>console.log('insert')</script>" + "Hello") + "</b>)")
結果
(<b><script>console.log('insert')</script>Hello</b>)
- 1. OpenCSV寫入未轉義轉義字符
- 2. HTML中未轉義的字符串
- 3. 將輸出流寫入字符串
- 4. 將字符串寫入輸出流
- 5. c#:轉義XML字符串並寫入HTML
- 6. 如何將轉義字符寫入字符串?
- 7. 檢查字符串已經是HTML轉義(JS)
- 8. PHP轉義JSON內的HTML字符串
- 9. XSLT和轉義的HTML字符串
- 10. 將字符串轉換爲用戶定義的類型。輸入輸出問題
- 11. 將字符串寫入套接字的輸出流
- 12. 輸出字符串爲html中的freemarker
- 13. 帶有HTML的JSP輸出字符串?
- 14. .Net將字符串轉換爲HTML轉義字符的方法
- 15. 轉義罕見的字符輸出php
- 16. LLVM字符串輸入/輸出
- 17. 幫助C字符串輸入/輸出
- 18. 字符串輸入和輸出用C
- 19. 字符串矩陣輸入輸出
- 20. 轉義HTML字符
- 21. HTML轉義字符
- 22. 轉換字符串的輸入雙
- 23. 轉義字符串--PHP在html元素
- 24. Java轉義HTML - 字符串替換慢?
- 25. ASP.NET非html轉義字符串到GridView
- 26. 輸出未知字符的C++ RapidJSON編寫器和字符串緩衝區
- 27. 解析特殊字符並轉換爲HTML(轉義字符串)
- 28. 通過涉及特殊字符的XSL轉換輸出HTML
- 29. PHP字符串不輸出html標籤?
- 30. 隨機HTML字符串輸出
下面來救人的討論很長的歷史 - `@ Html.Raw()` – 2013-06-06 23:19:33
要保存我這樣的人試圖用匿名類型的動態類型做到這一點意見,這不會工作 - 看到[這個答案](http://stackoverflow.com/a/31306368/957950)我的更具體的問題。儘管如果您的情況允許,使用強類型視圖的方法仍然更好。 – brichins 2015-07-09 01:00:00