数迹学——Asp.Net MVC4入门指南(5):从控制器访问数据模型
MovieController中的方法Index()代码,初认识,应该有很多理解错误的地方,暂时这么记忆吧,待随后修改
Index()代码:
1 @model IEnumerable<MVCMovie.Models.Movie> 2 3 @{ 4 ViewBag.Title = "Index"; 5 Html.EnableClientValidation(); 6 } 7 8 <p> 9 @Html.ActionLink("添加电影", "Create") 10 </p> 11 <table> 12 <tr> 13 <th> 14 @Html.DisplayNameFor(model => model.Title) 15 </th> 16 <th> 17 @Html.DisplayNameFor(model => model.ReleaseDate) 18 </th> 19 <th> 20 @Html.DisplayNameFor(model => model.Genre) 21 </th> 22 <th> 23 @Html.DisplayNameFor(model => model.Price) 24 </th> 25 <th></th> 26 </tr> 27 28 @foreach (var item in Model) { 29 <tr> 30 <td> 31 @Html.DisplayFor(modelItem => item.Title) 32 </td> 33 <td> 34 @Html.DisplayFor(modelItem => item.ReleaseDate) 35 </td> 36 <td> 37 @Html.DisplayFor(modelItem => item.Genre) 38 </td> 39 <td> 40 @Html.DisplayFor(modelItem => item.Price) 41 </td> 42 <td> 43 @Html.ActionLink("修改", "Edit", new { id=item.ID }) | 44 @Html.ActionLink("查看详细", "Details", new { id=item.ID }) | 45 @Html.ActionLink("删除", "Delete", new { id=item.ID }) 46 </td> 47 </tr> 48 }</table>
知识点:
(1)@model IEnumerable<MVCMovie.Models.Movie>
项目名. 空间名. 类名
IEnumerable<T>接口,该接口支持在指定数据集合上进行迭代操作。它定义了一组扩展方法,对数据集合中的元素进行遍历、过滤、排序、搜索、定位等操作。在lINQ中,数据源实际上实现了这个接口。
引用model 命名空间MVCMOvie.Models中的类Movie(项目名.空间名.类名)
简单说就是可以使用类Movie的特性
(2)参看这篇博文 http://www.cnblogs.com/willick/p/3224144.html
[ASP.NET MVC 小牛之路]03 - Razor语法
@{
ViewBag.Title = "Index";
Html.EnableClientValidation();
}
(3)@Html.ActionLink("添加电影", "Create")
(4) @Html.DisplayNameFor(model => model.Title)
(5)@foreach (var item in Model)
{
@Html.DisplayFor(modelItem => item.Title)
}
引用的博文说明
MJˊS BLOG 为理想中的状态起航! MVC HTML辅助类常用方法记录 (1)@Html.DisplayNameFor(model => model.Title)是显示列名, (2)@Html.DisplayFor(modelItem => item.Title)是显示列的内容 (3)@Html.ActionLink("Create New", "Create")是超链接,跳转到model中的create页面,引用的是controller中create方法; (4)@Html.ActionLink("Edit", "Edit", new { id=item.ID })编辑页面; (5)@using (Html.BeginForm()) { @Html.ValidationSummary(true)}用于客户端验证,其Html.BeginForm()表示在本页显示 (6)<div class="editor-label"> @Html.LabelFor(model => model.Time)标签 </div> <div class="editor-field"> @Html.EditorFor(model => model.Time)编辑框 @Html.ValidationMessageFor(model => model.Time)验证合法性错误显示 </div> 分类: Asp.net MVC