MVC中的模型
- 为MVC Music Store 建模
- 建模代码:
public class Album { public virtual int AlbumId { get; set; } public virtual int GenreId { get; set; } public virtual int ArtistId { get; set; } public virtual string Title { get; set; } public virtual decimal Price { get; set; } public virtual string AlbumArtUrl { get; set; } public virtual int Genre { get; set; } public virtual int Artist { get; set; } }
- 建模代码:
- 为商店管理器构造基架
- 基架(scaffolding): 为应用程序的增删改查功能生成所需的样板代码.
在模型类的基础上添加控制器, 即可生成控制器, 数据上下文, 视图等.
- 编辑专辑
- 创建编辑专辑的资源
- 模型和视图模型终极版 :
public class AlbumEditViewModel { public Album AlbumToEdit{get;set;} public SelectList Genres {get;set;} public SelectList Artists{get;set;} }
- Edit视图
@using (Html.BeginForm()){ @Html.DropDownList("GenreId",String.Empty) @Html.EditorFor(model =>model.Title) @Html.EditorFor(model => model.Price) <P> <input type="submit" value="Save" /> </P> }
- 模型和视图模型终极版 :
- 创建编辑专辑的资源
- 模型绑定
- 当操作带有一个参数时,MVC运行环境就会用一个模型绑定器来构建这个参数. 在MVC运行中, 可以为不同类型的模型注册多个模型绑定器,但是一般情况下的绑定器是 DefaultModelBinder .
- 可以使用控制器中的 UpdateModel 和 TryUpdateModel 方法显式地调用模型绑定.