ASP MVC 3 сложный мультипараметрический узел - PullRequest
0 голосов
/ 01 декабря 2011

в моем предыдущем вопросе Asp MVC 3 сложный объект json не инициализирует свойства Моя ошибка была в преобразовании JSON из Knockout и еще раз с JSON.stringify(data).
Теперь все работает нормально с одним параметром,но мне интересно, нужно ли мне отправлять в контроллер MVC два или более параметров, один из которых - переменная knowckout data = ko.toJSON(viewModel);, другой - какой-то текст.

var settings = ko.toJSON(viewModel);

var parameters = JSON.stringify({ id : *"guid"*, data : settings });

                $.ajax({
                    url: '/KioskAjax/SaveSettings/',
                    type: "POST",
                    data: parameters,
                    dataType: "JSON",
                    contentType: "application/json; charset=UTF-8",
                    success: function (result) {
                        alert('ok');
                    }
                });    


 [HttpPost]
        public JsonResult SaveKiosksSettings(Guid id, GlobalData data)
        {
            return Json(false.ToString(), JsonRequestBehavior.AllowGet);
        }

В этом примере id получает значение, но параметры GlobalData снова нулевые, я думаю, это потому, что я снова использую JSON.stringify, но как правильно построить JSON для вызова контроллераесли у меня есть объект нокаута?

спасибо.

1 Ответ

3 голосов
/ 01 декабря 2011

ko.toJSON(myObject) выполняет ko.toJS(myObject), а затем JSON.stringify(myObject).

Итак, вы можете использовать ko.toJS(myObject), чтобы получить чистую копию ваших данных, а затем JSON.stringify с вашейдругие данные, как вы уже делаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...