通过上一篇深入理解 MVC 的学习,相信大家已经对 MVC 有一些基本了解。
今天,就来为大家讲解 MVC 之间的数据传递问题。
使用 ViewData 传递数据
Model 是 MVC中 表示业务数据的层,View 将从 Controller 获得 Model 中的数据,并进行动态显示。
ViewData 相当于数据字典,包含 Controlle 和 View 之间传递的所有数据,Controller 会在该字典中添加新数据项,View 从字典中读取数据。
首先在 Model 文件夹下新建 Employee 类(Name:Sukesh Marla;Salary:200000)
其次在 Controller 中获取 Model
然后创建 ViewData 并返回 View
最后在 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 的数据容器。
Controller 处理用户交互逻辑或简单的判断,处理用户需求
Controller 获取一个或多个 Model 数据
Controller 决策哪个 View 最符合用户的请求
Controller 将根据 Model 数据和 View 需求创建并且初始化 ViewModel 对象。
Controller 将 ViewModel 数据以 ViewData 或 ViewBag 或强类型 View 等对象传递到 View 中。
Controller 返回 View。
以上就是讲解的 MVC 的数据传递内容,后续还会更新 “七天学会 ASP.NET MVC” 的其它篇章。
敬请期待!
相关开发工具
要进行 ASP.ET MVC 的开发,不但需要具备 MVC 的知识,还需要高效的工具来帮助开发。使用 ComponentOne Studio Enterprise 中提供的 ComponentOne Studio ASP.NET MVC,您能获取快速的轻量级控件来满足用户所有需求,大大减轻工作量。
快人一步,免费试用
如果您想试用 ComponentOne Studio ASP.NET MVC,请联系我们:
微信:GrapeCityDT
邮件:marketing.xa@grapecity.com
官网:www.gcpowertools.com.cn
关于葡萄城控件
葡萄城是一家跨国软件研发集团,专注控件领域近30年,是全球最大的控件提供商,也是微软认证的金牌合作伙伴
往期七天学会ASP.NET MVC