【发布时间】:2011-10-24 05:38:46
【问题描述】:
我在这里完全不知所措,无法找到解决此问题的方法。有人可以帮忙提供一些代码吗:
- 是否允许使用 [] 以便将包含的集合保存在 @model 中?
- 以某种方式从模型中映射/绑定包含的集合(我已阅读 Phil Haack 的集合绑定博客,但这不是传入的平面集合......我已经有一个模型 A 进来了?
- 我还尝试设置一个新的视图模型(包含下面的模型类 A 和 B),但我的模型在 httppost 中返回 null(即使我添加了一个简单的字符串类型,如“名称”并绑定它。 ..返回null)。我确定存在我不知道的 AutoMapper 问题。
我是 mvc3 的新手。以下是详细信息...
编辑视图:
@model MVC3.Models.A
// I need to save collection values but can't use [] here to setup model binding.
// I have read about mapping collections but I already have a model A that is getting passed in.
//
@Html.EditorFor(model => model.Bs[0].Val)
型号:
public class A
{
public A()
{
this.Bs = new HashSet<B>();
}
public int Name { get; set; }
public virtual ICollection<B> Bs { get; set; } // Can't change this to ILIst because of above HashSet
- }
public class B
{
public int Val { get; set; }
public virtual A A { get; set; }
}
【问题讨论】:
-
代替
model.Bs[0].Val试试model.Bs.First().Val -
我试过 First().Val 并且它没有绑定/映射。
-
嗨 Ankur,不,没有错误。只是根本没有绑定。谢谢!
标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-2