I am trying to do something along the lines of the following where I have a Controller with an method similar to:
public ActionResult Insert(Author author) {
//do something...
}
Where the Author type looks like:
public class Author {
public string FirstName { get; set; }
public string LastName { get; set; }
public Book[] Books { get; set; }
public Author() {
Books = new Book[0];
}
}
public class Book {
public string Title { get; set; }
public int NumberOfPages { get; set; }
}
From a page I want to submit data using JQuery and Ajax something like
function addAuthor() {
var auth = {
'FirstName': 'Roald',
'LastName': 'Dahl',
'Books': [
{
'Title': 'Charlie and the Chocolate Factory',
'NumberOfPages': 264
},
{
'Title': 'The Twits',
'NumberOfPages': 316
}
]
};
$.ajax({
type: "GET",
url: "/Insert",
data: auth
});
}
MVC binds the Author object (FirstName and LastName are set) but doesn't bind the Books property. Why is that and how can I submit an object containing an Array (or a Collection) as a property through AJAX?
DaveG,
Wouldn't you need to use a POST method rather than the GET ??
i.e.
$.ajax({
type: "POST",
url: "/Insert",
data: auth
});
i'm sure there may be other issues as well re json formatting but this is my initial thoights on 1st glance.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With