2010-09-22 135 views
0

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

回答

2

有些人建立一個模型(類),專門處理所有的值從控制器傳遞。所以,你的模型會有一個名爲DeviceID的屬性,因此會被強制輸入。

或者,你可以使用的ViewData:

你可以把這個在你的控制器:

ViewData["DeviceID"] = id; 

然後,在你看來,你需要將它轉換然後再使用它,就像這樣:

(int)ViewData["DeviceID"] 
+0

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

0

在Locations類中包含get,set屬性「項目ID」。