Я использую ASP.NET MVC2 и jQuery для загрузки и сохранения объектов. Я использую серилизацию/десериализацию объектов knockout.js, чтобы безопасно поддерживать структуру данных объекта при загрузке/сохранении данных.jQuery JSON сохранить объект в ASP.NET MVC2
Когда я возвращаю свой объект в его точную структуру обратно на сервер, используя следующий метод JavaScript, на стороне сервера в ASP.NET, мой объект GraduationClass получает экземпляр, но у него нет данных.
Я проверил данные сообщения в firebug, и все данные правильно отправляются обратно на сервер в запросе в правильной структуре, однако внутренний конвейер ASP.NET MVC не выполняет десериализацию данных обратно в Объект GraduationClass. Я пробовал это как с настройкой contentType, так и без него.
Мне интересно, что я делаю неправильно.
// javascript save method
function save(graduationClass) {
$.ajax({
url: "/SiteManagement/saveGraduationClass",
type: "POST",
// data: ko.mapping.toJSON(graduationClass), // (solution 1)
data: graduationClass, // (solution 2)
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
});
}
// both solutions result in a blank object construction on the server side
// ASP.NET MVC2 AJAX method
[HttpPost]
public ActionResult saveGraduationClass(GraduationClass graduationClass) {
// graduationClass here has all default data rather than the data sent in the post
return Json(new { resultText = "success" }, JsonRequestBehavior.AllowGet);
}
я фактически изменил запись в гораздо проще $ .post ("/ SiteManagement/saveGraduationClass", {graduationClass: graduationClass}, функция (данные) {// код здесь идет}); - и все равно получить тот же результат. –