后台的数据怎么传到view上呢?有四种方式可以实现,但其实也可以说是只有一种。
1.ViewBag
2、ViewData
3、TempData
4、model
① controller里面的代码:
public class ElsaTestController : Controller
{
//
// GET: /ElsaTest/
public ActionResult Index()
{
//1、使用viewBag,动态数据类型
ViewBag.name = "Elsa's viewbag";
return View();
}
}
在html里面如何获取?
@{
ViewBag.Title = "Index";
}
<h2>Elsa'test</h2>
<br> @ViewBag.name
下面对比一下,四种方式的区别,其实viewbag和viewdata可以共享数据的,但是他们依然是两种不同的属性。
public ActionResult Index()
{
//1、使用viewBag,动态数据类型
ViewBag.name = "Elsa's viewbag";
//2、使用viewDate这种键值对的方式
ViewData["test"] = "Elsa'test viewdata!";
//3、使用tempData
TempData ["temp"]="Elsa's tempdata";
//4、使用model
Models.test modeltest = new Models.test() { Name = "haha" };
return View(modeltest);
return View();
}
再积累一个小知识:action方法输出的返回值主要有3种:string、viewresult、jsonresult。