MVC从Controller到view进行传值的两种方法
2017-02-23 15:04
218 查看
这篇博客主要是MVC的数据传递中的ViewBag和ViewData。
一、从定义来看
ViewBag
ViewBag返回的是dynamic类型,返回动态视图数据字典。而ViewData的返回值类型是ViewDataDictionary,ViewDataDictionary表示一个容器,该容器用于在控制器和视图之间传递数据。
二、使用上的区别
(1)ViewBag
Controller中
在视图中显示
在地址栏之后输入手动加入参数,如:http://localhost:50663/home/index/?param=helloWorld,我们可以看到呈现的页面为:
(2)ViewData
ViewData的使用与ViewBag类似,只是语法稍有不同。
视图中
效果图如下所示:
ViewData是一个字典集合,通过key值读取对应的value;ViewBag是动态类型,作用和ViewData一样,都是用来存储信息,有一些不同的是ViewData是object类型,ViewBag是动态类型。
一、从定义来看
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是动态类型。
相关文章推荐
- MVC从Controller到view进行传值的方法
- 关于多个ViewController之间进行数据传递的方法
- uiview类里面进行触发按钮事件来让viewcontroller进行跳转的方法
- MVC中Controller与View中间的数据传递的常用方法
- RecycleView设置点击的两种方式:adapter中的onBindViewHolder(VH,int)方法中进行;实现RecyclerView的addonItemTouchListerner()
- Android两种播放视频的方法(SurfaceView+MediaPlayer+SeekBar)跟(VideoView+MediaController)
- MVC中Controller间的传值、Controller到View的传值方法
- 使用presentViewController跳转到上上个页面,实现多层跳转的两种方法。
- asp.net MVC 之 Controller.RedirectToAction 方法 详解
- Xcode改成不用MainWindow.xib 和 RootViewController.xib 的方法
- Asp.net Mvc Framework 三 (Controller与View)
- mvc:view-controller
- 在进行C#编程时候,有的时候我们需要判断一个字符串是否是数字字符串,我们可以通过以下两种方法来实现。 【方法一】:使用 try{} catch{} 语句。 我们可以在try语句块中试图
- addChildViewController方法
- 基于Android在布局中动态添加view的两种方法(总结)
- Android项目:模仿ConvertView原理(ListView的getView方法)对View对象进行回收和复用 推荐
- MVC传值——Controller向View传值(一)
- ABAP Objects Design Patterns – Model View Controller (MVC) Part 1
- ASP.NET MVC中-Controller与View传值
- UITableView最上面tableHeaderView留空间的两种方法