@model【强类型可以为多个??等待解决】
来源:互联网 发布:外汇ea编程 编辑:程序博客网 时间:2024/05/21 09:41
ASP.NET MVC提供了一种利用强类型的方法来将数据或对象传递到视图模板中。这种强类型的方法为你的编码过程提供了很丰富的编辑时的智能输入提示信息与非常好的编译时的检查。
如下这一行代码表示将一个movies列表从控制器传递到了视图中。
return View(movies.ToList());
通过在视图模板文件的头部使用@model语句,视图模板可以识别传入的参数中的对象类型是否该视图模板所需要的对象类型。
我们在创建这个Movies控制器所使用的模板时,我们在“添加视图”对话框中勾选了“创建强类型视图”复选框,在模型类下拉框中选择了“Movie(MvcMovie.Models)”, 在支架模板下拉框中选择了“List”。所以Visual Web Developer自动在我们的视图模板文件的第一行中添加了如下所示的语句。
@model IEnumerable<MvcMovie.Models.Movie>
@model关键字允许我们在视图模板中直接访问在控制器类中通过使用强类型的“模型”而传递过来的Movie类的列表。例如,在我们的Index.cshtml视图模板中,我们可以通过foreach语句来遍历这个强类型的模型,访问其中的每一个Movie对象。代码如下所示。
@foreach (var item in Model) {
<tr>
<td>
@Html.ActionLink("编辑", "Edit", new { id=item.ID }) |
@Html.ActionLink("查看明细", "Details", new { id=item.ID }) |
@Html.ActionLink("删除", "Delete", new { id=item.ID })
</td>
<td>
@item.Title
</td>
<td>
@String.Format("{0:d}", item.ReleaseDate)
</td>
<td>
@item.Genre
</td>
<td>
@String.Format("{0:c2}", item.Price)
</td>
</tr>
}
因为这里的“模型”是强类型的(IEnumerable<Movie>),所以在循环遍历时“模型”中的每一个项目(“item”)也是一个强类型的Movie对象,可以直接访问该对象的每一个属性。同时这也意味着我们可以在编译时检查我们的代码,同时在书写代码时也可以使用代码编辑器提供的智能输入提示信息。
如下这一行代码表示将一个movies列表从控制器传递到了视图中。
return View(movies.ToList());
通过在视图模板文件的头部使用@model语句,视图模板可以识别传入的参数中的对象类型是否该视图模板所需要的对象类型。
我们在创建这个Movies控制器所使用的模板时,我们在“添加视图”对话框中勾选了“创建强类型视图”复选框,在模型类下拉框中选择了“Movie(MvcMovie.Models)”, 在支架模板下拉框中选择了“List”。所以Visual Web Developer自动在我们的视图模板文件的第一行中添加了如下所示的语句。
@model IEnumerable<MvcMovie.Models.Movie>
@model关键字允许我们在视图模板中直接访问在控制器类中通过使用强类型的“模型”而传递过来的Movie类的列表。例如,在我们的Index.cshtml视图模板中,我们可以通过foreach语句来遍历这个强类型的模型,访问其中的每一个Movie对象。代码如下所示。
@foreach (var item in Model) {
<tr>
<td>
@Html.ActionLink("编辑", "Edit", new { id=item.ID }) |
@Html.ActionLink("查看明细", "Details", new { id=item.ID }) |
@Html.ActionLink("删除", "Delete", new { id=item.ID })
</td>
<td>
@item.Title
</td>
<td>
@String.Format("{0:d}", item.ReleaseDate)
</td>
<td>
@item.Genre
</td>
<td>
@String.Format("{0:c2}", item.Price)
</td>
</tr>
}
因为这里的“模型”是强类型的(IEnumerable<Movie>),所以在循环遍历时“模型”中的每一个项目(“item”)也是一个强类型的Movie对象,可以直接访问该对象的每一个属性。同时这也意味着我们可以在编译时检查我们的代码,同时在书写代码时也可以使用代码编辑器提供的智能输入提示信息。
0 0
- @model【强类型可以为多个??等待解决】
- MVC-强类型模型与@model关键字
- 解决项目中报 不包含“SaveChanges”的定义,并且找不到可接受类型为“HY.CYXS.Model.Entities”的第一个参数的扩展方法“SaveChanges 的错误
- 何为强类型语言
- 可以为空的类型
- 简单题:不等式(知道了运算符号算是字符可以定义为char类型)待解决
- mybatis批量操作之传入类型为数组及多个参数,使用@Parm注解完美解决
- 两种代码风格解决强连通分量解决加多少条边使整个图连通&多少个点可以到达所有点
- python 的del很强,可以删除类型
- 可空类型"int?" 解决: 【数据库里的int类型可以为null,而在c#里int类型不能为Nul】的问题
- css3,可以为一个元素添加多个动画
- ASP.NET MVC4中@model使用多个类型实例的方法
- ASP.NET MVC4中@model使用多个类型实例的方法
- asp.net mvc 中@model使用多个类型实例的方法
- 支持DataRow类型显现转换为Model类型的Model模板(动软,C#)
- 【强连通 && 最多可以加几条边使得图不为强连通图】HDU
- 强类型
- 可以为null的值类型
- 单例宏的抽取(用于ARC和非ARC)
- SSH——Hibernate简单配置
- hiho一下第65周微软面试题《Highway》题目分析
- 南阳oj 蛇形填数 题目33
- \第2课第1.1.4节文档和图片
- @model【强类型可以为多个??等待解决】
- SpriteBuilder弹出菜单层造成卡顿的解决办法
- 今日学习总结认识函数
- HDU 5477.A Sweet Journey【2015 ACM/ICPC Asia Regional Shanghai Online】【9月26】
- Activity参数传递
- The function getUserId must be used with a prefix when a default namespace is not specified 解决办法
- 无聊之作·->当两个机器人聊天会发生什么?
- jspsmart上传图片到Tomcat
- C/C++中获取数组的长度