传递变量来查看ASP MVC

时间:2010-09-22 13:44:05

标签: asp.net-mvc variables

我有2个视图,一个用于返回属于项目的所有位置,另一个返回一个json文件,其中包含用于在谷歌地图上显示它们的位置。 列出这些位置就像使用actionlink发送id一样,但是如何将项目ID发送到Map视图?

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);
  }

2 个答案:

答案 0 :(得分:2)

有些人专门构造一个模型(类)来处理从控制器传递的所有值。因此,您的模型将具有名为DeviceID的属性,因此将进行强类型化。

或者,您可以使用ViewData:

你可以把它放在你的控制器中:

ViewData["DeviceID"] = id;

然后,在您的视图中,您需要在使用之前将其强制转换,如下所示:

(int)ViewData["DeviceID"]

答案 1 :(得分:0)

在Locations类中包含get,set属性“project ID”。