我对"现实世界"MVC/.NET开发相当新(我从MVC 1开始就一直在学习MVC,而且我已经花了10年的时间基于web,所以我也不是一个真正的nober)我希望有一些东西在那里,我错过了虽然…我做了很多手工滚动JSON将模型传递回控制器,这已经变得越来越辛苦(让我回到2005年),所以我觉得一定有一个更好的方法…比如《脊梁》之类的?只是为了客户端建模吗?我假设有某种。tojson()之类的东西…无论如何,这里有一个我正在谈论的快速示例:
目前我正在使用视图模型结构绑定复杂的数据类型/列表等到视图页面。这太棒了……然后我通过JS构建小表单或"微模型"来处理小变化/用户与页面的交互。例如,在"网格"中放置一个移除按钮,将id发送给要移除的控制器。在大多数情况下,这是可行的。(我在这里很一般)
现在,当我处理一个具有一定深度的模型时,说:
ViewModel1{
string Property1
int Property2
List<MicroModel>
}
MicroModel{
string name
string description
}
和我有一个控制器更新MicroModel..说:
ActionResults testController(List<MicroModel> micromodel)
我必须在客户端做一些JSON字符串构建来创建一个代表预期输入的模型,一旦我建立了这个字符串,我POST它通过JQuery $.ajax()和控制器将捡起类型的模型(这是waaaay酷btw)..但是…
我真的需要处理这些客户端对象来镜像控制器期望的对象吗?
我宁愿不直接与表单绑定到模型工作,我也不打算发布一个formCollection。我怎么能工作与对象在客户端在一个很好的现代方式,然后将数据传递到控制器?
的反馈是赞赏…谢谢你的宝贵时间。
Knockout.js http://knockoutjs.com和它的声明式绑定以及将反序列化JSON的映射插件http://knockoutjs.com/documentation/plugins-mapping.html是一个很好的开始。
一个额外的好处,也许是目的,是在客户端上使用模型-视图-视图模型(MVVM)模式。