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)
这个参数名称是可以随意变的

MVC中Model和model的区别和用户的更多相关文章

  1. 008.Adding a model to an ASP.NET Core MVC app --【在 asp.net core mvc 中添加一个model (模型)】

    Adding a model to an ASP.NET Core MVC app在 asp.net core mvc 中添加一个model (模型)2017-3-30 8 分钟阅读时长 本文内容1. ...

  2. MVC中@Html.DisPlayFor(model=>model.newsName)和 @Model.newsName的区别

    MVC中,在Controllers查询到数据,返回一个实体给View并显示,可以用@Html.DisPlayFor(model=>model.newsName)和 @Model.newsName ...

  3. MVC中的默认Model绑定者DefaultModelBinder

    一.题外话 接续上一篇: MVC中Action参数绑定的过程 public IModelBinder DefaultBinder { get { if (this._defaultBinder == ...

  4. 在Asp.net MVC中使用Authorization Manager (AzMan)进行Windows用户身份认证

    背景 创建需要通过Windows用户进行身份认证的Asp.net MVC应用 要点 在Asp.net MVC应用基于Windows用户进行身份认证的方法有很多,如MVC自带的Windows认证就经常被 ...

  5. Spring Mvc中DispatcherServlet和Servlet的区别小结

    在web开发过程中开始接触的是servlet,用来处理用户请求.这几年随着spring 框架越来越成熟,几乎成了java web开发界的主流框架.既然这么受欢迎肯定有它的优点,spring框架在原来的 ...

  6. Asp.net MVC中repository和service的区别

    在Asp.net MVC controller的底层,常常有提到repository和service layer, 好像都是逻辑相关的层,那么它们到底是什么区别呢? 简单的说: repository就 ...

  7. Spring MVC中注解: @ModelAttribute 与@RequestParam区别

    相关链接 : https://blog.csdn.net/huang343/article/details/77491096

  8. ASP.NET MVC中ViewBag和ViewData的区别

    在MVC3.0以上我们会用到ViewBag或者ViewData进行页面传值,对比一下二者的差距: ViewData ViewBag 基于key/value的字典集合 dynamic类型对象 从ASP. ...

  9. MVC系列之二 Model层细解

    一.简介 在上一篇将MVC的时候,有很有朋友对简单三层的概念不是很熟悉,因此,今天进行简单三层的一个简单介绍,同时为理解MVC中的Model做知识累计. 传统的三层主要指的是UI层,BLL层,DAL层 ...

  10. MVC和普通三层架构的区别

    MVC和普通三层架构的区别 其中这里的模型(Model)和视图(View )是完全区别于三层架构中的模型(Model)和视图(View)的. MVC 1)MVC中的模型(Model)指的是数据模型,用 ...

随机推荐

  1. Web安全1&沙箱隔离

    1.web安全 Web安全的本质是信任问题 •由于信任,正常处理用户恶意的输入导致问题的产生 •非预期的输入(就是不是程序员预期的客户的输入) 安全是木桶原理,短的那块板决定的木桶世纪能装多少水,同样 ...

  2. 确保VDI顺利部署 试点项目是关键

    [TechTarget中国原创] 由于管理员没有全面测试虚拟桌面的性能表现导致无数VDI项目的最终失败,因此需要借助于试点项目来保证VDI部署的最终成功实施. VDI试点项目是从物理桌面向虚拟桌面迁移 ...

  3. Dapper 学习笔记

    一.基础 1.Dapper代码就一个SqlMapper.cs文件, 前人测试Dapper速度较快 的Orm,读取速度接近IDataReader,超过DataTable. 2.a.下载地址 https: ...

  4. 关于windows10设置环境变量的问题

    在设置环境变量的时候往往在网上能找到这样的文章: 1:新建环境变量 2:将新增的环境变量 加到path 变量中: 3.由于有的小伙伴的 系统是 windows10 在点击 编辑path 环境变量的时候 ...

  5. 关于python中的 if __name__ == 'main'

    name 是内置变量,它表示的是当前所在模块的名字,同时还能反应一个包的结构. a ├── b │   ├── c.py │   └── __init__.py └── __init__.py 目录中 ...

  6. windows版本cloudbase-init流程说明

    源码流程说明 - 程序首先判断操作系统类型,加载对应的模块 - 加载服务,服务共分为四种: 'cloudbaseinit.metadata.services.httpservice.HttpServi ...

  7. 1086 Tree Traversals Again (25 分)(二叉树的遍历)

    用栈来模拟一棵二叉树的先序遍历和中序遍历过程,求这棵二叉树的后序遍历 由题棵知道:push是先序遍历 pop是中序遍历 #include<bits/stdc++.h> using name ...

  8. Linux中awk后面的RS, ORS, FS, OFS 含义

    转载自http://blog.csdn.net/qq416647781/article/details/40649419   一.RS 与 ORS 差在哪   我们经常会说,awk是基于行列操作文本的 ...

  9. CodeForces Round #515 Div.3 C. Books Queries

    http://codeforces.com/contest/1066/problem/C You have got a shelf and want to put some books on it. ...

  10. js动态生成下拉列表

    经常需要用到js动态生成下拉列表的功能,记录下来备用. 示例需求:通过ajax请求,从后台获取用户姓名列表,并添加到下拉列表中.js代码如下: function getNameList(){ //如果 ...