Tôi đang gặp sự cố khi ràng buộc một mô hình có chứa danh sách các đối tượng. Không có vấn đề gì khi tôi cố gắng truyền dữ liệu từ bộ điều khiển đến khung nhìn, nhưng khi tôi muốn gửi lại dữ liệu, tôi nhận được thông báo rằng phương thức không tồn tại.Mô hình ràng buộc mô hình MVC Danh sách các đối tượng
Tôi đang sử dụng cuộc gọi ajax và dữ liệu tôi đặt $ form.serialize() và có thể xem danh sách với tất cả dữ liệu trong chế độ không hoạt động, nhưng tôi không có may mắn với ràng buộc.
Model là:
public class Single
{
public int Id {get;set;}
public string Name {get;set;}
public List<SimpleDropdown> dddl {get;set;}
public int SelectedEmp {get;set;}
}
public class MainModel
{
public List<Single> main_model_list {get;set;}
}
Trong điều khiển của tôi phương pháp này cho bây giờ là:
[HttpPost]
public string SaveModel(MainModel model)
{
return "";
}
Phương pháp này không được gọi, nhưng khi tôi loại bỏ các tham số công trình gọi. Vì vậy, tôi chắc chắn rằng các ràng buộc không hoạt động. Tôi đã có rất nhiều mô hình phức tạp hơn, nhưng tôi đã đơn giản hóa nó nhiều nhất có thể và vẫn không thể làm cho nó hoạt động được.
Vì vậy, câu hỏi của tôi là làm thế nào tôi có thể kiểm tra điều này để xem vấn đề là gì?
Edit:
Tôi không có mã vào lúc này, nhưng mã số đó là chức năng, vì tôi sử dụng nó ở những nơi khác trong dự án. Nó là một cái gì đó như thế này:
$("#form").submit(function() {
$.ajax({
url: "/Controller/SaveModel",
type: "POST",
data: $(this).serialize()
});
});
Hình thức trông giống như sau:
@using (Html.BeginForm("SaveModel", "Home", FormMethod.Post, new { id = "form" }))
{
@for (var z = 0; z < ViewBag.groupes.Length; z++)
{
<div style="border-left: 1px solid black">
<h1>@ViewBag.groupes[z]</h1>
</div>
}
@for (var i = 0; i < Model.main_model_list.Count; i++)
{
<div>@Html.LabelFor(x => x.main_model_list[i].Id)</div>
<div>@Html.LabelFor(x => x.main_model_list[i].Name)</div>
<div style="float: left">@Html.DropDownListFor(x => main_model_list[i].SelectedEmp, new SelectList(main_model_list[i].dddl, "Id", "Value", main_model_list[i].SelectedEmp), new { @class = "preferences_dd_lists" })</div>
}
}
Và cuộc gọi ajax của bạn ở đâu? – PSL
Làm cách nào để xuất kết quả? Bạn có cơ hội sử dụng 'foreach' không? –
Tôi đang sử dụng statment để chuyển tất cả các phần tử và thuộc tính của chúng từ danh sách main_model_list. – Aleks