这个对我来说似乎很痛苦,但由于某种原因,我无法按照我希望的方式工作。也许这是不可能的,但这似乎不大可能。这个问题可能有点相关:ASP.NET MVC Model Binding Related Entities on Same Page。ASP.NET MVC - 绑定一个子实体到模型
我有一个EditorTemplate编辑具有多个相关实体引用的实体。当呈现编辑器时,用户被赋予下拉列表以从中选择相关实体,并且下拉列表返回ID作为其值。
<%=Html.DropDownListFor(m => m.Entity.ID, ...)%>
当发送请求的形式值命名为预期:“Entity.ID”,但定义为动作参数我强类型的模型没有Entity.ID填充在传递的值请求。
public ActionResult AddEntity(EntityWithChildEntities entityWithChildEntities) { }
我试图用bind()的属性摆弄周围并在entityWithChildEntities指定Bind(Include = "Entity.ID")
,但似乎并没有工作。我也试过Bind(Include = "Entity")
,但是导致ModelBinder试图绑定一个完整的“实体”定义(并不奇怪)。
有没有什么办法让默认的模型绑定,以填补子实体ID或我将需要添加动作参数为每个孩子实体的ID,然后将值手动复制到模型中定义?
是否'实体'属性有任何访问修饰符,除'公共'?喜欢这个; '公民HomeTestModelChild儿童{get;内部设置; }' – cem 2010-06-02 13:09:12
不,先生,这一切都是公开的。 – 2010-06-02 16:54:58