Tôi có một lớp dữ liệu có chứa một số lĩnh vực:Ràng buộc để một Bộ sưu tập của các đối tượng mạnh mẽ-gõ trong ASP.NET MVC
public class Person
{
public int id { get; set }
public string Name { get; set; }
public double Rate { get; set; }
public int Type { get; set; }
}
Nếu tôi hiểu Scott Hanselman's take on binding arrays of objects, tôi sẽ có thể tạo ra một cái nhìn hình thức mà ám HTML trông như thế này:
<input name="Person[0].id" value="26" type="hidden" />
<input name="Person[0].Name" value="Tom Smith" type="text" />
<input name="Person[0].Rate" value="40.0" type="text" />
<select name="Person[0].Type">
<option selected="selected" value="1">Full Time</option>
<option value="2">Part Time</option>
</select>
<input name="Person[1].id" value="33" type="hidden" />
<input name="Person[1].Name" value="Fred Jones" type="text" />
<input name="Person[1].Rate" value="45.0" type="text" />
<select name="Person[1].Type">
<option value="1">Full Time</option>
<option selected="selected" value="2">Part Time</option>
</select>
sau đó tôi sẽ có thể thu thập dữ liệu này trong bộ điều khiển của tôi với một phương pháp hành động mà trông như thế này:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult People(Person[] array)
{
// Do stuff with array
}
Nhưng nó không hoạt động. Biến mảng luôn là null. Tôi giải thích điều này vì ràng buộc dữ liệu không hoạt động. Nhưng tại sao?
Có thể thử một danh sách chung thay vì một mảng. –
Danh sách đã thử thay vì Person [], vẫn trả về giá trị rỗng. Mẫu Hanselman yêu cầu Person []. –
Bạn đã sửa lỗi và phân tích dữ liệu POST của mình để xác minh rằng dữ liệu được đăng theo bài viết của Scott chưa? –