首页 > 技术文章 > MVC中Model和model的区别和用户

lb809663396 2015-04-21 14:31 原文

MVC中Model和model的区别,它们应该怎么用呢?

使用@model关键字可以定义一个Action里所对应的一个模型(经常可以叫他实体类)。
MVC的第一个字母M是Model,承载着View层和Controller之间的数据传输,是数据传输的载体,通过Model层,解偶了View层和Controller层。



一.Model的用法
Controllers里代码
public ActionResult Index()
{
     List htList = new List();
     ...........
     ...........
     return View( htList);
}
view里代码
@model List
@foreach (Hashtable item in Model as List)
注意:控制器传过来的类型和model实例化的类型一定要一样,否则会出错




二.看一下下面两条语句,是不是觉得Model和model都是数据的载体?现在给你解释一下。
@foreach(var item in Model)
@Html.EditorFor(model => model.Name)

第一段代码应该不用解释了吧,很明显都是Model就是数据的载体
第二段代码中model => model.Name它是一段Lambda表达式,如果翻译成正常的语句应该是这样的
string 函数名(Model类型 model)
{
 

   return model.Name
}
所以model只是一个参数名称
@Html.EditorFor(model => model.Name)
等效于

@Html.EditorFor(m=> m.Name)
这个参数名称是可以随意变的

推荐阅读