2010-01-26 16 views
5

我必須返回一個JsonResult,它包含一些HTML。帶Html編碼的JsonResult

這樣,是這樣的:

return Json(new { id="guid", html="<param id='id'/>" }); 

然而,當我得到的結果返回,尖括號被編碼爲u003e,u003c 等。

我嘗試了各種編碼器,但可以」不要把這個弄出來。任何人遇到這個?

我可以用Response.ContentType =「application/json」返回一個Content(string),但沒有這個問題,但是我的json對象非常複雜,如果可能的話我寧願返回一個JsonResult。

謝謝!

+0

帶有Response.ContentType =「application/json」的部分「內容(字符串)」是純金。如果早些時候看到,它會爲我節省幾個小時。謝謝! – 2013-04-04 06:52:16

回答

1

這樣做是爲了通過在數據中插入惡意HTML標記來防止潛在的XSS攻擊。它不應該有你的功能差異。 "\uxxxx"表示與未編碼版本相同的字符。

2

這只是Unicode。一旦你在瀏覽器中顯示它,它會看起來很好(如果瀏覽器是你的客戶端應用程序)。