ASP .NET-MVC Controller向View传输数据
常常使用ViewDate从Controller向View传数据,由于有新的需求,特对这个问题做一些查询和了解。发现就这个问题,内容还挺丰富:
向View传输数据可以传输载体ViewData、ViewBag、TempData、Model。
载体 | Controller中的代码 | View中接收数据的代码 |
ViewData |
|
|
ViewBag |
|
|
Model |
|
|
tempData用于在Redirect的时候保存数据,ViewData、ViewBag在跳转后就会变成null,但是TempData不会。
载体 | 数据传出Controller | 数据传入另一个Controller |
TempData |
|
|
Controller添加引用using System.Web.Script.Serialization;
本方法:Controller查询数据,向View传输数据
public JsonResult Func() { List<T> listInfo = QueryInfo(); var data = new { total, rows = courseList }; //返回到前台View的信息 return Json(data, JsonRequestBehavior.AllowGet); }
将List<T>数据转化成字符流——String,向View传输
Controller添加引用using System.Web.Script.Serialization;
传输List<T>集合数据,需要对数据进行序列化:(下面将序列化过程进行封装)
public string GetJson(Object DirectionInfo) { System.Web.Script.Serialization.JavaScriptSerializer jsS = new System.Web.Script.Serialization.JavaScriptSerializer(); string json = jsS.Serialize(DirectionInfo); return json; }
查询后台数据,调用序列化方法,并最终返回字符串序列给View
public string QueryInfo() { var resultInfo =QueryInfo(); return GetJson(resultInfo); }