C# 在回发时使用MVC 3中的模型补水时出现问题

C# 在回发时使用MVC 3中的模型补水时出现问题,c#,asp.net-mvc,model,C#,Asp.net Mvc,Model,我有两个模型类,类似于: class DependenciesModel{ List<int> DependencyComponentIDs { get; set; } } class ComponentModel{ int ComponentID { get; set; } string Name { get; set; } DependenciesModel Dependencies { get; set; } } 我在Fiddler中看到值被

我有两个模型类,类似于:

class DependenciesModel{
    List<int> DependencyComponentIDs { get; set; }
}

class ComponentModel{
    int ComponentID { get; set; }
    string Name { get; set; }
    DependenciesModel Dependencies { get; set; }
}
我在Fiddler中看到值被发回,但在控制器中,
Dependencies
属性为空

有趣的是,发布的字段值只是
dependencyComponentDS
,没有任何指示它们是
Dependencies
属性的一部分

我已经将依赖项列表拆分为一个单独的模型,因为其中有很多管理代码,可以很好地分离关注点


我需要做什么才能让它工作?

我隐约记得有过类似的问题。是否可以尝试使用x.y或x_y明确指定依赖项控件的Id,其中x是包装类,y是属性?如果没有,我将检查我是如何做到的。

我也遇到过类似的问题,将地址信息分离到一个单独的类中,以便更好地管理代码。最后,我不得不做更多的工作,让它返回并存储在对象中

在DependencyEdit.cshtml中,尝试以下操作

@模型依赖性模型

@for (int i = 0; i < Model.DependencyComponentIDs.Count; i++) {
     @Html.CheckBox(String.Format("Dependencies.DependencyComponentIDs[{0}]", i), false, new{ value = Model.Dependencies.DependencyComponentIDs[i] })
}
@for(int i=0;i
这不是一个很好的解决方案,但对我来说已经成功了。你可能还想看看:。

我真的拿了这个,并且一直在调整它
@model DependenciesModel

// There is more to this but I'm simplifying to get to the point
@Html.CheckBoxListFor(model => model.DependencyComponentIDs)
@for (int i = 0; i < Model.DependencyComponentIDs.Count; i++) {
     @Html.CheckBox(String.Format("Dependencies.DependencyComponentIDs[{0}]", i), false, new{ value = Model.Dependencies.DependencyComponentIDs[i] })
}