У меня проблемы с отправкой объекта JavaScript через jQuery на контроллер .net MVC 3.
Мой объект:
var postData = {
'thing1' : "whatever",
'thing2' : "something else",
'thing3' : [1, 2, 3, 4]
}
Мой звонок jQuery:
$.post('<%= Url.Action("Commit", "MassEdit") %>', postData, function (data) {
// stuff
});
My View Модель:
public class SubmitThing {
public string thing1 { get; set; }
public string thing2 { get; set; }
public IEnumerable<int> thing3 { get; set; }
}
Мой контроллер:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Commit(SubmitThing changes)
{
return new EmptyResult();
}
Проблема в том, что у моего объекта «изменений», который есть у меня в контроллере, есть вещь 1, равная «что угодно», вещь 2, равная «что-то еще», но вещь 3 - ноль. Теперь я получу thing3 в моем списке целых чисел?
Добавлено: Я думаю, что это скорее проблема сопоставления, чем проблема сериализации. В моем контроллере, если я смотрю на
HttpContext.Request.Form["thing3[]"]
Я получаю строку со значением «1,2,3,4». Но опять же, я бы хотел, чтобы отображение просто работало.
Спасибо!