2013-01-24 12 views
1

如果你生成一個HTML串像如何ASP.Net MVC的東西,不Pars在瀏覽器取代HTML標籤

ViewBag.FinalHTML="<a href=\"http://stackoverflow.com\">StackOverFlow</a>"; 

,然後嘗試使用此代碼來顯示它在瀏覽:

This is the best Q&A for programming questions: @ViewBag.FinalHTML 

那麼結果會是這樣:

This is the best Q&A for programming questions: <a href="http://stackoverflow.com">StackOverFlow</a> 

(我知道我該怎麼做正確的我還有一個問題!)

ASP.Net MVC如何做到這一點?

回答

5

@函數使用HttpUtility.HtmlEncode方法安全地編碼您傳遞給它的所有內容。

如果你不希望這個自動編碼發生使用@Html.Raw方法:通過這樣

@Html.Raw(ViewBag.FinalHTML) 

顯然,你應該確保這個FinalHTML是絕對不會從用戶的輸入來,但被產生你在服務器上。否則,你會在你的網站上打開一個巨大的XSS洞。