2009-06-30 131 views
2

好的,所以也許這是MVC模式中的一種不可否認的情況,這就是我正在尋找的答案。然而,假設我在數據庫中有一些內容html,並且我想將它傳遞給視圖。我假設我可以使用ViewData屬性將其傳遞給頁面。我需要做什麼類型的按摩,以使字符串像<h1>Hello World</h1>顯示爲'Hello World'而不是'<h1> Hello World </h1 >'。在ASP.NET MVC中,如何通過ViewData將View傳遞給頁面?

+0

請注意,對於像這樣的東西使用ViewData本身並不是一個「不」,但我認爲強烈地輸入您的視圖和/或使用MVVM模式是一個更好的長期戰略和更少的錯字/容易出錯。 – 2009-06-30 13:25:14

回答

2

什麼都沒有,只是在您的視圖中做<%=ViewData["yourkey"] %>而不是<%=Html.Encode(ViewData["yourkey"]) %>

注意:只有在您確信您信任數據庫中的數據時才能做到這一點!

+1

這太好了......你的意思是看代碼可能實際上有幫助嗎?但是,嚴肅地說,謝謝你以一種不會讓我感到愚蠢的方式指出明顯。 – 2009-06-30 13:33:54

0

在將字符串放入ViewData之前,您需要去除HTML。

編輯:當您將ViewData直接打印到頁面時,它不應該轉義HTML標記。


<%=ViewData["whatever"]%> 

這是C#,但它在VB.NET中非常相似。

+0

我希望字符串中的html在到達頁面時被解釋爲html。 – 2009-06-30 13:19:47

相關問題