Tôi có vấn đề sau:MVC 3 AJAX Post, Danh sách đầy các đối tượng, nhưng các thuộc tính đối tượng là trống
Khi bấm nút I POST một số dữ liệu đến máy chủ. điều khiển hành động của tôi trông như thế này:
public ActionResult Accept(List<MyViewModel> entries)
{
//here entries HAS 2 MyViewModel-Instances in it.
//The entries are not null, but the values of the instances are!
//entries[0].ParamA is null
}
Trường hợp MyViewModel trông như thế này:
public class MyViewModel
{
public string ParamA { get; set; }
public string ParamB { get; set; }
}
Và AJAX-Gọi là follwing:
var myEntries = { entries: [{ ParamA: "A", ParamB: "B" }, { ParamA: "C", ParamB: "D" }] };
$.ajax({
type: 'POST',
url: url,
cache: false,
data: myEntries,
dataType: 'text' });
gì tôi đã cố gắng phải làm:
- Thay đổi datatype để 'json'
- sử dụng: truyền thống: true
- thử var myEntries = JSON.stringify (...);
- đã thử var myEntries = {entries: [JSON.stringify ({...}), JSON.stringify ({...})]};
- giống như trên, nhưng với jQuery.param (..., true);
- Sử dụng IEnumerable hoặc MyViewModel [] thay vì danh sách.
- BẤT K combination sự kết hợp nào ở trên
Tôi đang làm gì sai ở đây?
Cảm ơn bạn rất, rất nhiều trước vì đã giúp tôi!
EDIT
của tôi (Razor) View là không thú vị tại thời điểm này vì nó không có gì để làm với bất cứ điều gì. Tôi KHÔNG sử dụng bất kỳ phương thức HTML.TextBoxFor (hoặc tương tự) nào để điền vào biến myEntries. Nó thực sự được điền động (vì có nhiều điều kiện). Vì lợi ích của câu hỏi (và thử nghiệm của riêng tôi) tôi đã mã hóa cứng biến đó. :)
Bạn có thể gửi mã số (Razor) xem của bạn? –
Chế độ xem của tôi không có gì thú vị trong đó. Tôi đã giải thích nó trong câu hỏi của mình. Xem phần EDIT – Shion
Tôi có câu trả lời! Tôi sẽ đăng bài sớm nhất có thể (phải đợi 8 giờ ...) – Shion