Я знаю, что на форуме есть и другие вопросы по этому поводу, но до сих пор нашел полезное решение.У меня есть контроллер, определенный таким образом:
[HttpPost]
public ActionResult Update(int id, IList<MyObject> data)
{
return Json(new { success = false, message = "saved!" });
}
Массив Json MyObject
находится внутри JsonStore и отправляется при вызове функции submitData()
.Я вижу, что все отправлено правильно, параметр «data» является массивом MyObject, если я вручную делаю JSON.Deserialize<IList<MyObject>>(data)
, я получаю именно то, что мне нужно, что означает, что данные являются допустимой строкой json ... в заголовках Iможно увидеть тип контента "application / json".Я уже пользуюсь JsonValueProviderFactory
, но это не помогает.Насколько я понимаю, поставщик значений должен легко сопоставлять массивы с IList, поэтому мне интересно, что я делаю что-то не так ...
Спасибо!
ОБНОВЛЕНИЕ Как отмечалось в одном комментарии, у меня немного другой сценарий использования: я на самом деле отправляю эти данные с помощью вызова Store.submitData () ... очевидно, даже если заголовки похожи, отправка из хранилища не работает, потому что она фактически генерируетстрока.
Кто-нибудь знает, как заставить магазин делать что-то похожее на JSON.stringify?