在ASP.NET MVC中以相同的ActionResult返回JSON *和HTML的最佳方法是什么

Sim*_*ver 5 asp.net-mvc json

我正在使用ASP.NET-MVC,并从我的MVC操作返回JSON或HTML。

我遇到过一些情况,我需要同时返回JSON和HTML。例如,我可能更新了购物车,并且需要返回HTML表示形式以及更新的JS对象模型。

我在SO上发现了很多有关何时返回哪种类型的响应的问题,但是没有人讨论如何同时返回两种响应。

有可靠的方法吗?必须在所有浏览器上都能正常工作。

  • 多部分响应?
  • 在JSON结果中编码的HTML?
  • 嵌入在包含JSON的HTML中的某种脚本标签,该脚本标签将运行用于更新对象模型的函数。我倾向于这种方法,但是担心当使用html(“ ...”)将脚本添加到DOM时,脚本可能无法可靠地运行
  • 其他方式?

如果没有一个好的方法,我只需要发出2个请求来获取HTML,然后获取JSON。

Pat*_*nza 1

要返回多部分正文,您可以将响应打包到 MIME 容器内。但这将使大多数客户无法使用该响应。

我通常将 html 放在 JSON 结果中。