传递变量来查看ASP MVC

传递变量来查看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"] 
+0

但使用ViewData是不好的做法:) – Stefanvds 2010-09-22 13:55:11

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