我希望我的控制器返回一个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