传递变量来查看ASP MVC
问题描述:
我有2个视图,一个返回属于一个项目的所有位置,另一个返回一个包含用于在谷歌地图上显示它们的位置的json文件。 列出这些位置是这样的,因为id是与actionlink一起发送的,但是如何将项目ID发送到Map视图?传递变量来查看ASP MVC
public ActionResult GoogleMaps(int id)
{
return View(Project.Find(id).DeviceLocations);
}
//[AutoRefresh(DurationInSeconds = 30)]
public ActionResult Map(int id)
{
var map = Project.Find(id).DeviceLocations;
Locations l = new Locations();
l.locations = map;
return Json(l, JsonRequestBehavior.AllowGet);
}
答
有些人建立一个模型(类),专门处理所有的值从控制器传递。所以,你的模型会有一个名为DeviceID的属性,因此会被强制输入。
或者,你可以使用的ViewData:
你可以把这个在你的控制器:
ViewData["DeviceID"] = id;
然后,在你看来,你需要将它转换然后再使用它,就像这样:
(int)ViewData["DeviceID"]
答
在Locations类中包含get,set属性“项目ID”。
但使用ViewData是不好的做法:) – Stefanvds 2010-09-22 13:55:11