ViewModel 就是服务 于 视图的,当Model模型 不够使用,或者不能满足 视图展示数据,就需要考虑。场景:比如有一个学生信息Model ,但是 视图 需要 学生信息Model 和 一个视图需要的标题。如果把Title定义 在 学生信息Model中 就不符合 规范,所以要 建立 ViewModel文件,把学生Model和Title 定义在 一起,实现 这种需求。
首先要在 MVC项目中 新建一个文件夹 起名 ViewModel 在 ViewModel文件夹中 新建类。
起名规则:需要 指定视图+ViewModel后缀 如 Home/Index,应该起名 HomeIndexViewModel.cs
如下 文件 HomeIndexViewModel.cs
using WebApplication2.Models;
namespace WebApplication2.ViewModel
{
public class HomeIndexViewModel
{
public Student Student { get; set; }
public String Title { get; set; }
}
}
调用例子
HomeIndexViewModel homeIndexViewModel = new HomeIndexViewModel { Title = "学生信息", Student = student };
return View(homeIndexViewModel);