我是ASP.NET MVC的新手,所以请耐心等待。
我一直认为MVC(在任何语言中)的想法是视图对模型一无所知,反之亦然,并且控制器是将所有内容组合在一起的粘合剂。
现在(在Visual Studio 2013 / MVC 5中)我通过Add添加一个新的控制器 - >新的Scaffolded Item,生成的视图包含第一行
@model IEnumerable<MyModelClass>
我理解在编写视图时让IntelliSense工作很好,但该视图是否应该不可知/完全忘记该模型?
答案 0 :(得分:6)
它是模型(或者你喜欢的视图模型),它是将所有东西组合在一起的粘合剂。
视图必须知道模型/视图模型,否则视图的设计者可以在表单上放置他们想要的任何字段并将其提交给控制器,而不知道控制器是否可以接受这些值。
最重要的是,model / viewmodel是控制器和视图理解并用于在它们之间进行通信的契约。