关于MVC中控制器(controller)向视图(view)传值的几种方式
2017-01-11 10:30
465 查看
原文地址:http://blog.csdn.net/chao88552828/article/details/9051117
1.提供视图模型对象
你能把一个对象作为View方法的参数传递给视图.
public ViewResult Index() {
DateTime date = DateTime.Now;
return View(date);
}
然后我们在视图中使用Razor的Model关键字来访问这个对象
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
The day is: @(((DateTime)Model).DayOfWeek)
或者是
@model DateTime
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
The day is: @Model.DayOfWeek
2.使用ViewBag(视图包)传递数据
View Bag 允许在一个动态的对象上定义任意属性,并在视图中访问它.这个动态的对象可以通过Controller.ViewBag属性访问它.
public ViewResult Index() {
ViewBag.Message = "Hello";
ViewBag.Date = DateTime.Now;
return View();
}
@{
ViewBag.Title = "Index";
}
<h>Index</h>
The day is: @ViewBag.Date.DayOfWeek
<p />
The message is: @ViewBag.Message
3. 使用View Data传递数据
在MVC3.0之前,主要是通过这种方式传递数据,它是通过用 ViewDataDictionary类实现的,而不是动态的对象.ViewDataDictionary类是类似标准"键/值"集合,并通过Controller类的ViewData属性进行访问的.这个方法,在视图中需要对对象进行转换.
[csharp] view
plain copy
print?
控制器中:
public ViewResult Index()
{
ViewData["Message"] = "Hello";
ViewData["Date"] = DateTime.Now;
return View();
}
视图中:
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
The day is: @(((DateTime)ViewData["Date"]).DayOfWeek)
<p />
The message is: @ViewData["Message"]
1.提供视图模型对象
你能把一个对象作为View方法的参数传递给视图.
public ViewResult Index() {
DateTime date = DateTime.Now;
return View(date);
}
然后我们在视图中使用Razor的Model关键字来访问这个对象
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
The day is: @(((DateTime)Model).DayOfWeek)
或者是
@model DateTime
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
The day is: @Model.DayOfWeek
2.使用ViewBag(视图包)传递数据
View Bag 允许在一个动态的对象上定义任意属性,并在视图中访问它.这个动态的对象可以通过Controller.ViewBag属性访问它.
public ViewResult Index() {
ViewBag.Message = "Hello";
ViewBag.Date = DateTime.Now;
return View();
}
@{
ViewBag.Title = "Index";
}
<h>Index</h>
The day is: @ViewBag.Date.DayOfWeek
<p />
The message is: @ViewBag.Message
3. 使用View Data传递数据
在MVC3.0之前,主要是通过这种方式传递数据,它是通过用 ViewDataDictionary类实现的,而不是动态的对象.ViewDataDictionary类是类似标准"键/值"集合,并通过Controller类的ViewData属性进行访问的.这个方法,在视图中需要对对象进行转换.
[csharp] view
plain copy
print?
控制器中:
public ViewResult Index()
{
ViewData["Message"] = "Hello";
ViewData["Date"] = DateTime.Now;
return View();
}
视图中:
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
The day is: @(((DateTime)ViewData["Date"]).DayOfWeek)
<p />
The message is: @ViewData["Message"]
相关文章推荐
- Aerospike数据库实战(六) -- 踩坑&经验总结
- 关于集成JPush过程中一些思考--仅供自己开阔思路
- 设计模式之禅——门面模式
- 【重磅】邮储银行携手IBM打造基于区块链技术的资产托管系统
- 关于linux下core dump【总结】
- Greenplum学习12--添加mirror节点
- 解决Ubuntu中vi命令的编辑模式下不能正常使用方向键和退格键的问题
- 彷QQ侧滑菜单动画实现效果—ViewDragHelper
- 摩斯密码
- AndroidMainfest.xml详解——<grant-uri-permission>
- 算法分析:插入排序
- 跨平台自动化测试工具desktop,web和mobile
- 在DEBIAN8.6上搭建Portia(可视化Scrapy)的注意事项
- Spring Boot 之 Spring Data JPA(牛刀小试)
- webStorm支持.wxml文件高亮显示
- 字符串提取数字
- 菜单权限处理
- 碰到一个mysql date_format函数的问题,是用法不当还是bug?
- 安装mysql报错问题处理
- 《Linux内核设计与实现》读书笔记(三)- Linux的进程