码迷,mamicode.com
首页 > Web开发 > 详细

asp.net mvc 4 高级编程学习笔记:第三章 视图

时间:2014-09-21 21:46:41      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:style   color   io   使用   ar   strong   for   数据   sp   

1、基础规则

视图的职责是向用户提供用户界面。

视图位于View目录下:有普通的需要控制器渲染的视图,有局部视图,有布局视图等各种视图。

2、视图渲染

控制器默认情况下渲染与控制器同名的目录内的与Action同名的视图,也可以在Action中,通过return view(“视图名”)来指定需要渲染的其他视图,如果视图位于同一个目录内,采用视图名称即可,如果视图位于不同的目录内,需要提供服务端根路径“~/view/Example/index.cshtml”。

3、强类型视图与数据传递

控制器中通过viewData和ViewBag给渲染的视图传递数据,viewData是键值对的对象,viewBag是dynamic字段类型。viewData是viewDataDictionary类型,不是普通的Dictionary类型,它具有一个额外的Model属性,利用这一点可以很容易的向视图传递一个特定的视图类型,称为视图主模型(只能一个),此对象需要作为return view(对象)使用,并在视图的顶部添加如下的代码进行声明:

例如:强类型方式

@model List<MvcMusicStore.Models.Album>

@foreach (var album in Model)

在视图中通过@Model变量获取声明的强类型对象。

如果要传递与视图主模型无关的其它数据,可以存放在viewBag中,通过类型转换的方式来实现强类型的效果。 

例如: 非强类型方式

@using MvcMusicStore.Models;

@foreach (Album album in ViewBag.albums)

 4、视图模型ViewModel

 对于一个视图只能有一个视图主模型的问题,为了能够将所有的数据都采用强类型的方式进行访问,可以单独编写一个“视图模型类”,将需要传递的数据定义在视图模型类中。

例如:定义视图模型

public class ShoppingCartViewModel
{
public List<Cart> CartItems { get; set; }
public decimal CartTotal { get; set; }
}

强类型引用视图模型:@model MvcMusicStore.ViewModels.ShoppingCartViewModel

 

asp.net mvc 4 高级编程学习笔记:第三章 视图

标签:style   color   io   使用   ar   strong   for   数据   sp   

原文地址:http://www.cnblogs.com/feihusurfer/p/3984898.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!