MVC中控制器向视图传值的四种方式
MVC中的控制器向视图传值有四种方式分别是
1 ViewDate 2.ViewBag 3.TempDate 4.Model
下面分别介绍四种传值方式
首先先显示出控制器中的代码
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace WebApplication1.Controllers { public class DefaultController : Controller { // GET: Default /// <summary> /// 1、提供视图模型对象 /// </summary> /// <returns></returns> public ActionResult Index() { DateTime date = DateTime.Now;//一个对象作为View方法的参数传递给视图 return View(date); } /// <summary> /// 2、使用ViewBag(视图包)传递数据 /// </summary> /// <returns></returns> public ActionResult Edit() { //ViewBag 允许在一个动态的对象上定义任意属性,并在视图中访问它.这个动态的对象可以通过Controller.ViewBag属性访问它. ViewBag.Name = "名字代号"; ViewBag.Age = "22"; ViewBag.Hobby = "打篮球,打羽毛球等"; ViewBag.StrDate = DateTime.Now; return View(); } /// <summary> /// 3、 使用View Data传递数据 /// </summary> /// <returns></returns> public ActionResult Detail() { //在MVC3.0之前,主要是通过这种方式传递数据,它是通过用 ViewDataDictionary类实现的,而不是动态的对象. //ViewDataDictionary类是类似标准"键/值"集合,并通过Controller类的ViewData属性进行访问的.这个方法,在视图中需要对对象进行转换. ViewData["Message"] = "Hello,World !"; ViewData["Date"] = DateTime.Now; return View(); } //使用TempDate来传递数据 public ActionResult tempdates() { //TempData 他和viewdate的用法差不多但是他比viewdate的好处是他可以做到夸不同页面之间的传值 TempData["Message"] = "名字信息"; TempData["Age"] = "55"; TempData["Hobby"] = "打篮球,打羽毛球等"; TempData["Timess"] = DateTime.Now; return View(); } } }
这个是第一个控制器中的方法传递的数据
<div> @{ ViewBag.Title = "Index"; } <h1>当前时间</h1> <h2>@(((DateTime)Model).Date)</h2> <h2>@(((DateTime)Model).DayOfYear)</h2><br /> </div>
resault:
当前时间
2019/4/2 0:00:00
92
1.使用ViewBag
<div> @{ ViewBag.Title = "Edit"} <h1>@ViewBag.Name</h1> <h2>@ViewBag.Name</h2> <h2>@ViewBag.Age</h2> <h2>@ViewBag.Hobby</h2> <h2>@ViewBag.StrDate</h2> </div>
resault:
名字代号
22
打篮球,打羽毛球等
2019/4/2 15:59:26
2.View Data的用法
<div> @{ ViewBag.Title = "Detail"; } <h2>@ViewData["Date"]</h2> <h2>@ViewData["Message"]</h2> <h2>@view</h2> </div>
resault:
hello World
2019/4/2 15:59:26
3.TempData的用法
<div> @{ ViewBag.Ttle = "tempdates";} <h1>@TempData["Message"]</h1> <h1>@TempData["Age"] = </h1> <h1>@TempData["Hobby"] </h1> <h1>@TempData["Timess"]</h1> </div>
resault:
名字代号 22 打篮球,打羽毛球等
2019/4/2 15:59:26
4,model的用法如果有想知道的可以联系我.