Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 2 MVC C#向列表中添加项目<&燃气轮机;内部_Asp.net Mvc 2_List_Google Maps_C# 3.0_Foreach - Fatal编程技术网

Asp.net mvc 2 MVC C#向列表中添加项目<&燃气轮机;内部

Asp.net mvc 2 MVC C#向列表中添加项目<&燃气轮机;内部,asp.net-mvc-2,list,google-maps,c#-3.0,foreach,Asp.net Mvc 2,List,Google Maps,C# 3.0,Foreach,我正在做一些事情,虽然我通常在c#方面没有问题,但我的大脑崩溃了,有点卡住了 在我的MVC应用程序中,我有一个控制器,用于管理谷歌地图的一些标记(如下所示) public ActionResult GetMarkers() { MarkerList markers=getMarkerFormap(); 返回Json(markers,JsonRequestBehavior.AllowGet); } 公共标记列表GetMarkerFormap() { MarkerList ml=新的MarkerLi

我正在做一些事情,虽然我通常在c#方面没有问题,但我的大脑崩溃了,有点卡住了

在我的MVC应用程序中,我有一个控制器,用于管理谷歌地图的一些标记(如下所示)

public ActionResult GetMarkers()
{
MarkerList markers=getMarkerFormap();
返回Json(markers,JsonRequestBehavior.AllowGet);
}
公共标记列表GetMarkerFormap()
{
MarkerList ml=新的MarkerList();
foreach(dirRepo.getAllShops()中的var shop)
{
标记器=新标记器
{
html=shop.ShopName,
lat=车间。lat,
液化天然气=车间液化天然气,
label=shop.DirectoryID.ToString()
};

ml.markers.Add(marker);//您需要在
标记列表
中初始化列表才能使用它。您可以在默认的
标记列表
构造函数中初始化它

public class MarkerList
{
    public List<Marker> markers { get; set; }

    public MarkerList()
    {
        markers = new List<Marker>();
    }
}
公共类标记列表
{
公共列表标记{get;set;}
公共标记列表()
{
markers=新列表();
}
}
然后,您确定内部列表总是初始化的


顺便说一句:为什么要将列表封装在仅包含此列表的对象中?现在使用
标记列表
类没有任何好处。除非仅根据问题的需要将其缩短,否则最好删除此类并直接使用
列表

您需要在
中初始化列表>MarkerList
来使用它。您可以在默认的
MarkerList
构造函数中初始化它

public class MarkerList
{
    public List<Marker> markers { get; set; }

    public MarkerList()
    {
        markers = new List<Marker>();
    }
}
公共类标记列表
{
公共列表标记{get;set;}
公共标记列表()
{
markers=新列表();
}
}
然后,您确定内部列表总是初始化的


顺便说一句:为什么要将列表封装在仅包含此列表的对象中?现在使用
标记列表
类没有任何好处。除非仅根据问题的需要将其缩短,否则最好删除此类并直接使用
列表

ml.markers为空,因为您使用的是auto p属性(没有后备存储)。例如,您需要在ctor中初始化它


但有一件事看起来很奇怪。首先,为什么markers是公共的,而不是以大写字母开头。更重要的是,当您访问内部列表时,MarkersList类的用途是什么?现在它没有什么意义。要么将内部MarkersList设为private/protected,并将AddMarker方法添加到MarkersList中。要么在控制器中使用List并返回它。

ml.markers为空,因为您使用的是自动属性(没有备份存储)。例如,您需要在ctor中初始化它


但有一件事看起来很奇怪。首先,为什么markers是公共的,而不是以大写字母开头。更重要的是,当您访问内部列表时,MarkersList类的用途是什么?现在它没有什么意义。要么将内部MarkersList设为private/protected,并将AddMarker方法添加到MarkersList中。要么在控制器中使用List并返回它。

直接使用列表有点像是别人的刀砍,但是直接使用列表有点像是别人的刀砍。但是,直接使用列表有点像是别人的刀砍。
return new MarkerList {markers = new List<Marker> {marker}};
public class MarkerList
{
    public List<Marker> markers { get; set; }

    public MarkerList()
    {
        markers = new List<Marker>();
    }
}