【问题标题】:asp.net MVC nested model binding errorasp.net MVC 嵌套模型绑定错误
【发布时间】:2013-10-30 18:23:27
【问题描述】:

我正在发布html form,但model binding 对我来说无法正常工作。有时有效,有时无效。

这里是动作:

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

Debugging Watch 正确显示数据:

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

有什么想法吗?

【问题讨论】:

  • 我不明白,你的嵌套在哪里。请添加所有右括号,以便我们正确阅读代码
  • 能否也显示相关视图?
  • 所以问题是只有段落列表中的第一项绑定回模型?我们绝对需要看风景。
  • 你不需要视图 Request.Form["Paragraphs[1].MediaList[0].MediaId"]=value Request.Form["Paragraphs[0].MediaList[0].MediaId" ]=值 form.Paragraphs[0].MediaList[0].MediaId=value while form.Paragraphs[1].MediaList[0].MediaId=(无值 form.Paragraphs[1].MediaList.Count=0)

标签: c# asp.net asp.net-mvc model-binding


【解决方案1】:

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

【讨论】:

  • 这就是所谓的“设计错误”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-24
  • 1970-01-01
  • 1970-01-01
  • 2011-01-28
  • 2014-07-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多