Tôi đang tạo khoảng không quảng cáo khóa, mỗi khóa có một số sê-ri (Tiêu đề), trường được liên kết (Mã Trường) và 5 Kết hợp được kết hợp (có Số, Kết hợp và Hoạt động). Chúng tôi đang sử dụng Ncommon và LINQ và đã thiết lập chúng thành các thực thể lồng nhau (Khóa có nhiều kết hợp).Làm cách nào để sử dụng thuộc tính [Bind (Include = "")] trên các đối tượng lồng nhau phức tạp?
Trên biểu mẫu, tôi đang sử dụng mẫu JQuery để tự động tạo biểu mẫu. Trong đó Mã trường và Tiêu đề là các phần tử biểu mẫu cơ bản, Kết hợp [chỉ mục] .Số và Kết hợp [chỉ mục]. Kết hợp là các phần tử con.
<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>
Khi tôi chạy tính năng này mà không có thuộc tính Ràng buộc, mô hình ràng buộc hoạt động tốt. Khi tôi thêm liên kết, tôi dường như không thể liên kết với bất kỳ Kết hợp nào.
[HttpPost]
public ActionResult Add([Bind(Include = "SchoolCode,Title,Combinations.Combination,Combination.Number,Combinations[2].Combination")] LockerLock @lock, [Range(1, 5)] int ActiveCombination)
{
...
}