【问题标题】:ASP MVC 3 complex multi parameters knoASP MVC 3 复杂的多参数知道
【发布时间】:2012-01-10 14:47:13
【问题描述】:

在我之前的问题Asp MVC 3 json complex object not initialize properties 我的错误是从 Knockout 转换为 JSON,然后再使用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,但是如果我有 knowckout 对象,如何为控制器调用构建正确的 JSON?

谢谢。

【问题讨论】:

    标签: json asp.net-mvc-3 knockout.js


    【解决方案1】:

    ko.toJSON(myObject) 执行 ko.toJS(myObject) 然后 JSON.stringify(myObject)

    因此,您可以选择使用ko.toJS(myObject) 获取数据的干净副本,然后将JSON.stringify 与您的其他数据一起使用,就像您已经在做的那样。

    【讨论】:

      猜你喜欢
      • 2012-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      相关资源
      最近更新 更多