xan*_*ndy 5 model-view-controller asp.net-mvc json
目前我正在使用很棒的 Linq 2 Json.net(由 newtonsoft 提供),这是一个非常棒的简单工具,可以以编程方式生成 JSON 结果。
但是在完成了一些项目之后,我停下来重新思考,我应该在控制器中生成JSON结果吗?我的意思是,在 .net MVC 框架中,它确实提供了一个 JSONResult 作为 ViewResult 之一。但是控制器是否应该关心结果是如何生成的?或者它应该只是“提供”要查看的数据,而生成必要的输出(和格式)应该是视图的工作?
最后一件事,我还听说在控制器中使用“ViewData”可能不是一个好主意,因为控制器在显示/输出问题上涉及太多,可以使用更好的模式或方法吗?
我想我会证明 Controller 中的 JSON 输出是合理的,因为 JSON 只是 ViewData 的一种形式,与使用 ViewData 字典与视图页面进行通信类似。
实际的视图页面已经呈现,或者由客户端语言处理。虽然一个缺点是,JSON 输出控制器非常依赖于视图,是的,您仍然可以将视图更改为接受 JSON 作为通信通道的其他东西,但如果您想更改客户端,这不是一个好主意例如,使用其他通道作为通信的桌面应用程序(例如直接 TCP 连接或 SOAP 应用程序等),因为控制器是为 JSON 制作的。(确实,您可以制作一个适配器来进行翻译)。
因此,总而言之,只要您不打算在其他平台上同时保持控制器不变,控制器中的 JSON 渲染就可以。
| 归档时间: |
|
| 查看次数: |
928 次 |
| 最近记录: |