我希望我的控制器返回一個JsonResult如:從MVC3控制器返回未編碼的JsonResult
return Json(new { test = "<div>Hello World!</div>" });
但上面被髮送到瀏覽器爲:
"\u003cdiv\u003eHello World!\u003c/div\u003e"
我怎樣才能返回響應未編碼?
我希望我的控制器返回一個JsonResult如:從MVC3控制器返回未編碼的JsonResult
return Json(new { test = "<div>Hello World!</div>" });
但上面被髮送到瀏覽器爲:
"\u003cdiv\u003eHello World!\u003c/div\u003e"
我怎樣才能返回響應未編碼?
你試圖使用它的目的是返回JSON的方法來返回HTML。
您可能想看看Content()
方法及其重載。
return Content("<div>Hello World!</div>");
有一個HTML幫手 @HTML.Raw()
像你需要這會工作。你需要花費一些技巧才能在你的控制器中獲得它的一個實例。
編輯:你只需要用正確的數據填充一個實例。
var html = new HtmlHelper(new ViewContext(ControllerContext, null, new ViewDataDictionary(), new TempDataDictionary()), new ViewPage());
給一個嘗試...
感謝。我知道HTML.Raw,但我從未在控制器中使用它。一個例子會很棒。 – Mark
@Mark S.我會盡力找到我寫的一些代碼。已經有一段時間了 –
@Mark S看看是否給你一個有效的HTML幫助對象來處理調用Raw()。您需要傳入Controller中的orig context。 –
我想返回一個JSON數組。該數組中的一個元素將是一個HTML字符串。爲了清楚起見,上面的例子排除了數組的其餘部分。 – Mark
對不起,誤解了你的問題。無論如何,從控制器返回HTML是錯誤的,從控制器返回JSON內的JSON是雙重錯誤。 HTML屬於視圖,無論你想要實現什麼。 – Joao
檢查[this](http://stackoverflow.com/questions/1106676/how-to-get-html-returned-from-actionresult-in-controller)回答。再一次,我想強化這樣一個想法,即您必須做出錯誤的想要從控制器返回HTML – Joao