Tôi là một nhà phát triển phần mềm .NET C# có kinh nghiệm, tuy nhiên chỉ một vài tháng trước, tôi bắt đầu làm việc với MVC Razor (MVC 5).MVC Razor tạo danh sách các đối tượng để gửi
Tôi có một tình huống nhỏ mà tôi không thể tìm thấy bất kỳ câu trả lời cho trên mạng (sau giờ tìm kiếm)
Tôi có một mô hình mà có một danh sách các mẫu khác do đó cũng có một danh sách các một mô hình như hình dưới đây.
public class Parent
{
public string Name { get; set; }
public string Sex { get; set; }
public int Age { get; set; }
public List<Child> Children { get; set; }
}
public class Child
{
public string Name { get; set; }
public string Sex { get; set; }
public int Age { get; set; }
public List<GrandChild> GrandChildren { get; set; }
}
public class GrandChild
{
public string Name { get; set; }
public string Sex { get; set; }
public int Age { get; set; }
}
và điều khiển của tôi có 2 phương pháp, một là chính Nhận, và một trong những khác là bài để gửi dữ liệu mới
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult PostParent(Parent parent)
{
if (ModelState.IsValid)
{
//Do an insert to the DB
return View("~/Views/Home/Index.cshtml");
}
return Json("Error");
}
Tuy nhiên, trong quan điểm của tôi trong Mẫu, tôi không thể tìm thấy một cách để tạo ra một nút add và chèn dữ liệu mới vào danh sách các con và cháu (trong trường hợp của một trẻ em)
@using (Html.BeginForm("PostParent", "Home", FormMethod.Post, new {@class = "form-horizontal", role = "form"}))
{
@Html.LabelFor(x => x.Name)
@Html.TextBoxFor(x => x.Name)
}
tôi chỉ có thể thêm các trường cho properites kiểu nguyên thủy, nhưng không phải cho các đối tượng.
Tôi thực sự đánh giá cao bất kỳ Trợ giúp nào!
Tham khảo câu trả lời [tại đây] (http://stackoverflow.com/questions/29161481/post-a-form-array-without-successful/29161796#29161796) và [tại đây] (http://stackoverflow.com/questions/28019793/submit-same-partial-view-gọi-nhiều lần-dữ liệu-to-controller/28081308 # 28081308). Lưu ý rằng bạn không thể sử dụng 'BeginCollectionItem' cho các bộ sưu tập lồng nhau –
Và để có ví dụ làm việc về việc tạo các bộ sưu tập lồng nhau, hãy tham khảo [DotNetFiddle] (https://dotnetfiddle.net/wqE6Rb) –