2013-10-29 152 views
2

我发布html formmodel binding对我来说工作不正常。有时可行,其他时间则不行。asp.net MVC嵌套模型绑定错误

这里是动作:

[HttpPost] 
[ValidateInput(false)] 
public ActionResult Edit(NewsStoryForm form) 
{ 
    ... 
} 

调试手表上显示正确的数据:

Request.Form["Paragraphs[1].MediaList[0].MediaId"]=value  
Request.Form["Paragraphs[0].MediaList[0].MediaId"]=value  
form.Paragraphs[0].MediaList[0].MediaId=value // Successfully binds 

form.Paragraphs[1].MediaList[0].MediaId=(no value) // Fails to bind 

怎么一回事,因为

form.Paragraphs[1].MediaList.Count=0 

有什么想法?

+0

奇怪的错误!? –

+0

很奇怪的错误 – khs

+0

我不明白,你的嵌套在哪里。请添加所有右括号,以便我们可以正确读取代码 – Marco

回答

2

解决了什么问题是将字段MediaId重命名为Id或向模型中添加名为Id的字段。

+2

This被称为“Bug by Design” –