- 为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 方法显式地调用模型绑定.