所以我有这个索引方法:
public List<ParkingLot> parkingLot;
public async Task<ActionResult> Index(Position postData)
{
string json = new WebClient() { Encoding = Encoding.UTF8 }.DownloadString("json_url_removed_for_post");
parkingLot = JsonConvert.DeserializeObject<List<ParkingLot>>(json);
return View(parkingLot);
}
我想将ParkingLot对象列表和收到的postData发送到About方法。
public ActionResult About()
{
ViewBag.Message = "hello about";
return View();
}
我该怎么做呢?然后我想在about索引中能够显示一些数据。如何从控制器传递它?
答案 0 :(得分:1)
您应该使用TempData
:
public List<ParkingLot> parkingLot;
public async Task<ActionResult> Index(Position postData)
{
string json = new WebClient() { Encoding = Encoding.UTF8 }.DownloadString("json_url_removed_for_post");
parkingLot = JsonConvert.DeserializeObject<List<ParkingLot>>(json);
TempData["postData"] = postData;
TempData["parkingLot"] = parkingLot;
return View(parkingLot);
}
然后,您可以同时使用它们:
public ActionResult About()
{
ViewBag.Message = "hello about";
var postData = (Position)TempData["postData"];
var parkingLot = (List<ParkingLot>)TempData["parkingLot"];
return View();
}
请注意,TempData
需要进行类型转换,因为将数据存储为object
,并null
进行检查。
您可以将postData
返回About
页面,如下所示:
return View(postData);
然后,在About
页面的顶部,您必须写@model Position
,然后您可以在Model
课程的帮助下使用它。