C# MVC下拉列表名称不为';不变

C# MVC下拉列表名称不为';不变,c#,model-view-controller,C#,Model View Controller,我有一个ASP.NET MVC部分视图,但我正在尝试更改名称,否则绑定将失败 @Html.DropDownListFor( model => model.RoomTypeID, Model.RoomTypes .Select(x => new SelectListItem() { Text = x.Name, Value = x.ID.ToString() }),

我有一个ASP.NET MVC部分视图,但我正在尝试更改名称,否则绑定将失败

@Html.DropDownListFor(
    model => model.RoomTypeID, 
    Model.RoomTypes
        .Select(x => new SelectListItem() 
        { 
            Text = x.Name, 
            Value = x.ID.ToString() 
        }), 
    new 
    { 
        @class = "span12",
        id = "Features_" + Model.GeneratedID + "__RoomTypeID",
        name = "Featurs[" + Model.GeneratedID + "].RoomTypeID" 
    })
如果我运行我的软件并添加新项目(使用此部分视图),Guid将按其应有的方式生成,但名称现在将是RoomTypeID,而不是
Features[Guid]。RoomTypeID

如果我去检查元素并将名称编辑为
Features[guid].RoomTypeID
,那么绑定工作正常,我的列表不为空

我试着把它改成

@Html.DropDownList(
    "Featurs[" + Model.GeneratedID + "].RoomTypeID",
    new SelectList(Model.RoomTypes, "ID", "Name", Model.RoomTypeID),
    "-- New Address --", 
    new { @class = "span12", id = "Features_" + Model.GeneratedID + "__RoomTypeID" })
但是绑定也失败了

编辑1:
似乎我在第二次考试中犯了一个拼写错误

设法让它正常工作了

        @Html.DropDownList("Features[" + Model.GeneratedID + "].RoomTypeID",new SelectList(Model.RoomTypes, "ID", "Name", Model.RoomTypeID),"-- Select Feature --", new { @class = "span12", id = "Features_" + Model.GeneratedID + "__RoomTypeID" })

似乎您在分配名称时有输入错误,应该是
功能
,而不是
功能
?是的,刚刚注意到:)当我再次查看我的代码时,您可能希望查看帮助器以了解这是如何正确完成的