带有类和结果的ASP.NET MVC问题

带有类和结果的ASP.NET MVC问题,asp.net,Asp.net,我有两个类,一个叫做开发,另一个叫做BuildingTypes…开发收集了一个BuildingTypes列表: public class BuildingTypes { public string BuildingType { get; set; } } public class Development { public List<BuildingTypes> BuildingTypes { get; set; }

我有两个类,一个叫做开发,另一个叫做BuildingTypes…开发收集了一个BuildingTypes列表:

public class BuildingTypes
    {
        public string BuildingType { get; set; }
    }

    public class Development
    {
        public List<BuildingTypes> BuildingTypes { get; set; }

    }
公共类构建类型
{
公共字符串构建类型{get;set;}
}
公共班级发展
{
公共列表构建类型{get;set;}
}
我尝试的是一个BuildingType(no s)列表,以获得以下结果:

    <BuildingTypes>
    <BuildingType> Condo/Apartment </BuildingType>
    <BuildingType> Townhouse </BuildingType>
    </BuildingTypes>

But when I try this:

    List<BuildingTypes> buildingTypes = new List<BuildingTypes>();

                    if (houseCounter != 0)
                    {

                        BuildingTypes buildingType = new BuildingTypes();

                        buildingType.BuildingType = "House";

                        buildingTypes.Add(buildingType);

                    }

                    if (townsCounter != 0)
                    {

                        BuildingTypes buildingType = new BuildingTypes();

                        buildingType.BuildingType = "Townhouse";

                        buildingTypes.Add(buildingType);

                    }

                    development.BuildingTypes = buildingTypes;
<BuildingTypes>
<BuildingTypes>
<BuildingType>House</BuildingType>
</BuildingTypes>
<BuildingTypes>
<BuildingType>Townhouse</BuildingType>
</BuildingTypes>
</BuildingTypes>

公寓
联排别墅
但当我尝试这个:
List buildingTypes=新建列表();
如果(房屋计数器!=0)
{
BuildingTypes buildingType=新建BuildingTypes();
buildingType.buildingType=“房子”;
添加(buildingType);
}
如果(城市中心!=0)
{
BuildingTypes buildingType=新建BuildingTypes();
buildingType.buildingType=“联排别墅”;
添加(buildingType);
}
development.BuildingTypes=BuildingTypes;
我得到这个结果:

    <BuildingTypes>
    <BuildingType> Condo/Apartment </BuildingType>
    <BuildingType> Townhouse </BuildingType>
    </BuildingTypes>

But when I try this:

    List<BuildingTypes> buildingTypes = new List<BuildingTypes>();

                    if (houseCounter != 0)
                    {

                        BuildingTypes buildingType = new BuildingTypes();

                        buildingType.BuildingType = "House";

                        buildingTypes.Add(buildingType);

                    }

                    if (townsCounter != 0)
                    {

                        BuildingTypes buildingType = new BuildingTypes();

                        buildingType.BuildingType = "Townhouse";

                        buildingTypes.Add(buildingType);

                    }

                    development.BuildingTypes = buildingTypes;
<BuildingTypes>
<BuildingTypes>
<BuildingType>House</BuildingType>
</BuildingTypes>
<BuildingTypes>
<BuildingType>Townhouse</BuildingType>
</BuildingTypes>
</BuildingTypes>

房屋
联排别墅

为什么我需要额外的BuildingTypes节点?太奇怪了

输出遵循您的数据模型。如果要添加属性,如本例所示:

public class BuildingTypes
{
    [XmlElement("buildingType")]
    public string BuildingType { get; set; }
}

[XmlRoot("development")]
public class Development
{
    [XmlArray("collectionOfBuildingTypes")]
    [XmlArrayItem("buildingTypes")]
    public List<BuildingTypes> BuildingTypes { get; set; }
}
公共类构建类型
{
[XmlElement(“buildingType”)]
公共字符串构建类型{get;set;}
}
[XmlRoot(“开发”)]
公共班级发展
{
[XmlArray(“collectionOfBuildingTypes”)]
[XmlArrayItem(“构建类型”)]
公共列表构建类型{get;set;}
}
并检查输出,它会给你的困惑带来光明

<development>
    <collectionOfBuildingTypes>
        <buildingTypes>
            <buildingType>House</buildingType>
        </buildingTypes>
        <buildingTypes>
            <buildingType>Townhouse</buildingType>
        </buildingTypes>
    </collectionOfBuildingTypes>
</development>

房屋
联排别墅
总而言之,我认为您希望:

public class BuildingTypes
{
    [XmlElement("buildingType")]
    public string BuildingType { get; set; }
}

[XmlRoot("development")]
public class Development
{
    [XmlElement("buildingTypes")]
    public List<BuildingTypes> BuildingTypes { get; set; }
}
公共类构建类型
{
[XmlElement(“buildingType”)]
公共字符串构建类型{get;set;}
}
[XmlRoot(“开发”)]
公共班级发展
{
[XmlElement(“buildingTypes”)]
公共列表构建类型{get;set;}
}

这与asp.net-mvc有什么关系?您显示的输出看起来像xml—您是如何生成它的?输出是正确的,并且没有问题
Development.BuildingTypes[].BuildingType