2
가능한 중복 :MVC 3 사용자 정의 JS 객체를 컨트롤러에 전달하는 방법은 무엇입니까?
public class MyClass { public int BookID { get; set; } public List<SelectedBookFormat> SelectedFormats { get; set; } public SelectedBasketBook() { SelectedFormats = new List<SelectedBookFormat>(); } } public class SelectedBookFormat { public int ID { get; set; } public int Quantity { get; set; } public double Price { get; set; } }
및 조치 : : 그 클래스가
Passing a collection of objects to MVC controller using $.post
public JsonResult Add(MyClass model)
{
...
}
내가 원하는 클라이언트 측에서 클래스를 생성 후 :
model {"BookID":"1","SelectedFormats":[{"ID":"4","Quantity":"34","Price":"44"},{"ID":"1","Quantity":"1","Price":"11"}]}
JS (I는 그 클래스 오브젝트를 생성하고 I이 작업은 JSON.stringify() 메소드를 사용하여)
$.post('/Add', {
model : JSON.stringify({ BookID: '@Model.BookID',
SelectedFormats : formatsTab }) },
function(res){}
});
하지만 전달 개체 서버 측에서 null 인 이유는 무엇입니까?
흠 'BookID'는 제대로 전달되지만 그 목록에는 0 개의 항목 수가 있습니다. 'MyClass'를'List'에서'SelectedBookFormat []'로 변경하면 null입니다. –
Tony