MVC ,Action方法传数据给视图有几种方式?--PS:tempData和Viewbag,还有ViewData之间的区别
//---------------------------------控制器向视图传递数据 public ActionResult TransData() { //1.ViewBag ViewBag.Hello = "hello world~~~"; //2.ViewData ViewData["Think"] = "C#"; //3.TempData TempData["TempHH"] = "我是tempda"; //4.Model //Model属性,本质上就是ViewData.Model Models.Student entity = new Student() { s_Name = "传智播客视频学习" }; ViewData.Model = entity; return View(); }
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>TransData</title> </head> <body> <div> @ViewBag.Hello<br/> @ViewData["Think"]<br /> @TempData["TempHH"]<br /> @Model.s_Name @ViewData.Model.s_Name @*在视图上,ViewBag共享ViewData的数据,同样ViewData共享ViewBag的数据*@ @ViewBag.Think @ViewData["Hello"] @ViewData["TempHH"] @*//在页面上显示不出来,可以看出,TempData和ViewData以及ViewBag之间不共享数据*@ @ViewBag.TempHH </div> </body> </html>
总结:TempData可以在控制器的Action之间传递数据。ViewDate和ViewBag都不行。这个是自己学习的时候发现的
TempData和ViewData以及ViewBag之间不共享数据*@
每天学一点,每天积累一天,进步就不止一点点!PS:好记性不如烂笔头,学会总结,学会思考~~~
----要飞翔,必须靠自己!