因为mvc4 也出来一段时间了,但是我是初学者,之前的MVC3,MVC2之类的项目,书籍都没接触过,上来就直接MVC4了.
照着官网案例再做,有些概念没弄懂,还望大虾们指点迷津.
诸如ViewModels 的概念.
这个我已经百度过,没有专门像百度百科那样的解释.概念比较模糊.MVC新建项目 Models , view ,Controllers 是MVC约定好的.
model放实体,view 是界面,Controllers 是逻辑
那viewModel 是属于约定吗?还是自己定义的一个文件夹就放 根据业务组合的model 的吗?mvcmvc4c#

解决方案 »

  1.   

    建议看看这篇文章。http://www.infoq.com/cn/articles/View-Model-Definition
      

  2.   

    如果一个View涉及到多个Model,就需要定义一个ViewModel了吧。我的理解是只是为了View而创建的类.
      

  3.   

    ViewModel不需要特别的概念,一般就是和View一一对应的一个数据结构。它可能组合了很多的业务逻辑或者数据库表中的数据,而区别于其它的Model。
      

  4.   

    那viewModel 是属于MVC默认约定吗?
      

  5.   

    ViewModel是为了便于绑定到View而添加的一个东西,你在MVC中可以不需要ViewModel这么一个东西,那么你就需要自己在Controller和View之间一个个的传值了。
    换个角度,有了ViewModel,你可以一次性把所有的数据拉过来到View中使用,如果没有ViewModel,那么你就需要自己做绑定,性质跟Model差不多,只不过Model是针对于数据库标准而制定的,而ViewModel跟数据库没有直接的关系。
      

  6.   

    ViewModel pattern 比较正确 和具体语言无关 相关的API TryUpdateModel ...
      

  7.   

    那viewModel 是属于MVC默认约定吗?可以这么理解。但是这种约定是属于Convention一类的性质。
      

  8.   

    晕死。纠结到asp.net mvc这可真是奇怪了。在我的XAML的项目中,通常我会自然而然地分成这样几个文件夹:  images          图片、图标
      models         从应用服务器工程共享来的“失血模型”通信实体的.cs文件
      views          带有.xaml的界面。其中很少在.cs文件中写代码,尽量使用绑定,使用Blend而不是vs开发
      view_models    与view一一对应,实现view的DataContext的绑定数据源对象
      behaviors      支持在blend美工板上为xaml中个元素拖入各种操作行为
      converters     数据绑定时使用的格式化方法
      Themes         皮肤样式
      framework_elements
      

  9.   

    在你使用微软的xaml开发时,纠结在什么 MVC 三个字母,实在是“弱爆了”,那缺乏技术含量。所以如果你要学习 view_model,那么就别纠结在 MVC 这么简单的概念上打转转。
      

  10.   

    framework_elements    直接从 FrameworkElement或者具体控件继承而开发的自定义控件(有了xaml其实你很少需要开发)