断天涯大虾 发表于 2016-7-15 17:11:18

七天学会ASP.NET MVC (2) -- 数据传递

通过上一篇深入理解 MVC 的学习,相信大家已经对 MVC 有一些基本了解。
今天,就来为大家讲解 MVC 之间的数据传递问题。

一、使用 ViewData 传递数据
Model 是 MVC中 表示业务数据的层,View 将从 Controller 获得 Model 中的数据,并进行动态显示。
ViewData 相当于数据字典,包含 Controlle 和 View 之间传递的所有数据,Controller 会在该字典中添加新数据项,View 从字典中读取数据。
1.首先在 Model 文件夹下新建 Employee 类(Name:Sukesh Marla;Salary:200000)
2.其次在 Controller 中获取 Model
3.然后创建 ViewData 并返回 View
4.最后在 View 中显示 Employee 数据

二、使用 ViewBag 传递数据
ViewBag 可以称为 ViewData 的一块关于语法的辅助的糖果,ViewBag 使用 C# 4.0 的动态特征,使得 ViewData 也具有动态特性。 、
ViewBag 基于 Asp.net 4.0 与 .net framework,是 dynamic 类型的对象,虽然 ViewBag 比 ViewData 慢,但是在 ViewPage 中查询数据时不需要类型转换,并且可读性更好。

三、使用 ViewModel 传递数据

ViewModel 是 ASP.NET MVC 应用中隐式声明的层,它用于维护 Model 与 View 之间的数据传递,是 View 的数据容器。
1.Controller 处理用户交互逻辑或简单的判断,处理用户需求
2.Controller 获取一个或多个 Model 数据
3.Controller 决策哪个 View 最符合用户的请求
4.Controller 将根据 Model 数据和 View 需求创建并且初始化 ViewModel 对象。
5.Controller 将 ViewModel 数据以 ViewData 或 ViewBag 或强类型 View 等对象传递到 View 中。
6.Controller 返回 View。




页: [1]
查看完整版本: 七天学会ASP.NET MVC (2) -- 数据传递