你在看什么呢?
最近blog从Scott Hanselman关于使用特殊的模型粘合剂更容易测试导致我想到以下:
你在控制器逻辑中建立视图模型是什么,应该在视图中放置什么?他所做的是这样的:
var viewmodel = new DinnerFormviewmodel { Dinner = dinner,Countries = new SelectList(PhoneValidator.Countries,dinner.Country) }; return View(viewmodel);
现在,我用同样的方式将数据传递给我,但我不确定他如何处理国家财产.你可以争辩双方:
在SelectList中包装国家列表准备视图的数据,就像您创建一个视图模型DTO来传递数据一样.
另一方面,它以某种方式感觉像是专门操纵在下拉列表中使用的数据,限制了视图处理您的控制器数据的方式.
我觉得这是一个灰色的区域,分离了观点和控制者之间的关切,我不能真正地决定要走哪条路.有没有最佳做法?
PS:为了保持简单,让我们假设默认的ASP.NET MVC上下文,所以基本上你的开箱即用项目.默认视图引擎和所有爵士乐.
@H_403_14@