MVC从Controller到view进行传值的方法
2024-10-07 14:35:45
这几天基本上都是交接的一些杂事,没有什么工作任务,就有空来回顾一下MVC。虽然工作中也用到了MVC,但已经被微软的架构师设计的找不到MVC的影子了,可能有别的考虑吧,至今还没研究出来。所以,今天就来回顾一下“原生”的MVC的基本操作,免得回来了以后跟你们聊不到一块~
这篇博客主要是MVC的数据传递中的ViewBag和ViewData。
一、从定义来看
ViewBag
//
// 摘要:
// 获取动态视图数据字典。
//
// 返回结果:
// 动态视图数据字典。
[Dynamic]
public dynamic ViewBag { get; }
ViewBag返回的是dynamic类型,返回动态视图数据字典。而ViewData的返回值类型是ViewDataDictionary,ViewDataDictionary表示一个容器,该容器用于在控制器和视图之间传递数据。
//
// 摘要:
// 获取或设置视图数据的字典。
//
// 返回结果:
// 视图数据的字典。
public ViewDataDictionary ViewData { get; set; }
二、使用上的区别
(1)ViewBag
Controller中
public class HomeController : Controller
{
//
// GET: /Home/ public ActionResult Index()
{
ViewBag.MyParam = "ViewBag传递的参数:"+Request["param"]; return View();
} }
在视图中显示
@{
ViewBag.Title = "Index";
} <h2>@ViewBag.MyParam</h2>
在地址栏之后输入手动加入参数,如:http://localhost:50663/home/index/?param=helloWorld,我们可以看到呈现的页面为:
(2)ViewData
ViewData的使用与ViewBag类似,只是语法稍有不同。
public class HomeController : Controller
{
//
// GET: /Home/ public ActionResult Index()
{
ViewData["str1"] = "ViewData传递的参数:"+Request["str1"]; return View();
} }
视图中
@{
ViewBag.Title = "Index";
}
<h2>@ViewData["str1"]</h2>
效果图如下所示:
ViewData是一个字典集合,通过key值读取对应的value;ViewBag是动态类型,作用和ViewData一样,都是用来存储信息,有一些不同的是ViewData是object类型,ViewBag是动态类型。
最新文章
- 记一次Suse下的Django环境配置——第一弹
- 关于Map集合
- 【腾讯云的1001种玩法】腾讯云搭建DiscuzX论坛
- 交换芯片收发包的 DMA 实现原理
- Error : L6218E: Undefined symbol downloadAddress (referred from nand.o).
- require()与 require_once()、 include与include_once()
- Android——横屏和竖屏的切换,以及明文密码的显示
- Lua的require和module小结
- Java之对象池
- 如何才能学到Qt的精髓——信号槽之间的无关性,提供了绝佳的对象间通讯方式,QT的GUI全是自己的一套,并且完全开源,提供了一个绝好机会窥视gui具体实现
- iOS viewController 和 view 的创建消失生命周期总结
- javascript 正则匹配手机号码
- 【转】QT QString, wchar_t *, TCHAR, CString和其他字符或字符串类型的转化
- 【android】优秀的UI资源站点集合
- 第一百二十五节,JavaScript,XML
- C#中泛型默认关键字(default)详解
- 用网站把图标做成iconFont文件引用
- 关于HTML元素点击的时候,背景颜色秒进,缓缓退出的方法
- 用BlazeMeter录制JMeter(三十五)测试脚本(转载)
- python网络编程之一
热门文章
- _default_ VirtualHost overlap on port 80, the first has precedence
- Spring Bean依赖但注入(autowired或resource)时NullPointerException(xml和annotation混用的场景下)
- css中有些属性的前面会加上“*”或“_”,请问分别表示什么意思?
- python解析ini文件
- 时间戳与QDateTime相互转换
- BZOJ1901: Zju2112 Dynamic Rankings(整体二分 树状数组)
- 【ACM之行】◇第一站◇ 2018HDU多校赛总结
- harbor 配置 Keepalived 实现HA
- VS2013使用自带的数据库 Microsoft SQL Server 2012 Express LocalDB
- ARM S3C2440 时钟初始化流程