强类型视图

ViewBag和ViewData都可以向视图中传递数据,这一过程叫做强类型视图

也可以通过return View();方法向视图中传递数据

上图是向默认视图中传递数据的。如果要向指定视图中传递数据可以使用如下两种方法

方法一:return View("List", pList);--向LIst视图中传递PList数据
方法二:return View("~/Views/Home/About.cshtml", pList);--向指定路径视图中传递数据,可以不再同一个方法中

在视图中使用数据

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title></title>
</head>
<body>
    <div>
        @model IEnumerable<BaWei.MVC.Unit05.Models.ProductViewModel>
        @foreach (var p in Model)
        {
            <div>
                编号:@p.Id
                名称:@p.Name
                描述:@p.Remark
            </div>
        }
    </div>
</body>
</html>
在这个视图中,是使用@model来存储从控制器传过来的泛型集合的,并且类型变成了IEnumerable,IEnumerable是所有枚举类型的基接口。

视图模型

视图模型通常使用ViewModel结尾,是一个类,只是供视图使用,与三层架构中的数据模型是不一样的。如:

为了又能更好的使用强类型,可以使用视图模型,将相关的数据封装到模型中。也就是将相关的属性编写在一个类中,然后将这个类实例传递给视图。

猜你喜欢

转载自www.cnblogs.com/HuangLiming/p/10192633.html