比方说一个有示范MVC ModelBinding到列表 - 失去项目
public class FirstModel
{
public List<SecondModel> SecondModels { get; set; }
}
public class SecondModel
{
public string Value { get; set; }
}
这种观点
@model FirstModel
....
<input name="SecondModels[0].Value" value="test1"/>
<input name="SecondModels[1].Value" value="test2"/>
<input name="SecondModels[2].Value" value="test3"/>
...
的Modelbinding工作好以下。我将完整的模型添加到我的ActionMethod中。
但是如果我使用,例如,jQuery删除中间的项目。
<input name="SecondModels[0].Value" value="test1"/>
<input name="SecondModels[2].Value" value="test3"/>
我丢失了SecondModels[2]
,因为ModelBinder无法绑定。 所以我只得到第一个(“test1”)。
是否有另一个Syntax或CustomModelBinder能够正确地绑定,或者我需要在删除项目后替换input
名称?
非常感谢您提前!
这引入了一个额外的输入字段为n项... – xandercoded 2012-04-03 14:57:20
多数民众赞成它;)谢谢你!我知道Haacked Article,但由于任何原因,我错过了它。 – dknaack 2012-04-03 14:58:05
@Xander这是它的工作原理。如果您正在随机生成随机区域,那么跟踪索引是非常困难的。另一方面,你可以用这种方式来绑定它,例如通过将索引设置为一个GUID:'' – tugberk 2012-04-03 15:00:26