【发布时间】:2011-10-08 00:22:49
【问题描述】:
我正在创建一个锁清单,每个锁都有一个序列号 (Title)、一个关联的学校 (SchoolCode) 和 5 个关联的组合(具有 Number、Combination 和 IsActive)。我们使用 Ncommon 和 linq 并将它们设置为嵌套实体(Lock Has Many Combinations)。
在表单上,我使用 JQuery 模板来动态构建表单。其中 SchoolCode 和 Title 是基本表单元素,Combinations[index].Number 和 Combinations[index].Combination 是子元素。
<form method="post" action="/Lockers.aspx/Locks/Add">
<input type="hidden" name="SchoolCode" value="102">
Lock S/N: <input type="text" name="Title" value=""><br>
<div id="combinations">
<input type="hidden" name="Combinations[0].Number" value="1">
<input type="text" name="Combinations[0].Combination" value="">
<input type="radio" value="1" name="ActiveCombination"><br>
<input type="hidden" name="Combinations[1].Number" value="2">
<input type="text" name="Combinations[1].Combination" value="">
<input type="radio" value="2" name="ActiveCombination"><br>
<input type="hidden" name="Combinations[2].Number" value="3">
<input type="text" name="Combinations[2].Combination" value="">
<input type="radio" value="3" name="ActiveCombination"><br>
<input type="hidden" name="Combinations[3].Number" value="4">
<input type="text" name="Combinations[3].Combination" value="">
<input type="radio" value="4" name="ActiveCombination"><br>
<input type="hidden" name="Combinations[4].Number" value="5">
<input type="text" name="Combinations[4].Combination" value="">
<input type="radio" value="5" name="ActiveCombination"><br></div>
<input type="submit" id="add" value="Add »"> <br>
</form>
当我在没有 Bind 属性的情况下运行它时,模型绑定可以正常工作。添加绑定后,我似乎无法将其绑定到任何组合。
[HttpPost]
public ActionResult Add([Bind(Include = "SchoolCode,Title,Combinations.Combination,Combination.Number,Combinations[2].Combination")] LockerLock @lock, [Range(1, 5)] int ActiveCombination)
{
...
}
【问题讨论】:
标签: asp.net asp.net-mvc asp.net-mvc-3 model-binding