我正在做的事情,虽然我通常没有问题与C#我有一个大脑崩溃,有点卡...MVC C#添加项目到列表<>内foreach
在我的MVC应用程序我有一个负责管理谷歌地图的一些标记控制器(如下)
public ActionResult GetMarkers()
{
MarkerList markers = getMarkersForMap();
return Json(markers, JsonRequestBehavior.AllowGet);
}
public MarkerList getMarkersForMap()
{
MarkerList ml = new MarkerList();
foreach (var shop in dirRepo.getAllShops())
{
Marker marker = new Marker
{
html = shop.ShopName,
lat = shop.Lat,
lng = shop.Lng,
label = shop.DirectoryID.ToString()
};
ml.markers.Add(marker); // <<<< Object ref not set to an instance of an object
}
return m;
}
我也有一个标记控制器如下:
public class MarkerList
{
public List<Marker> markers { get; set; }
}
public class Marker
{
public string lat { get; set; }
public string lng { get; set; }
public string html { get; set; }
public string label { get; set; }
}
数据被填充在foreach没问题, 但是我要 将多个标记添加到列表中,以便我可以将它们传递回调用函数,并继续在我的查看页面中显示结果。我可以添加单件没有问题,这样做
return new MarkerList {markers = new List<Marker> {marker}};
但如何多个项目?
但是,从某人else示例中找到一些黑客和斜杠,直接使用列表是有意义的。 –
Andrew
2011-04-03 19:20:14