asp.net mvC语言 带有mvc视图模型和knockout模型的多个JSON参数



我在通过JSON将数据发送回我的MVC3控制器时遇到了一些麻烦。

我的最终目标是让我的控制器同时接收来自knockout的数据和来自视图的当前模型。

我没有麻烦地获得可观察数组,也没有麻烦地获得用于填充视图的原始模型。但是我无法在浏览器中获得对模型的更新。

通常submit会自动发送回视图模型,我想我只需要调用那个机制。

我的代码目前正确地获得了knockout数组,但是模型是"旧的",它是用于填充来自服务器的视图的数据。

我真的在寻找如何启动表单上的机制,使我能够通过JSON(或其他更好的方式)发送数据返回

编辑:数据线已更改。现在我得到了模型,但项目数组的大小是正确的,但项目是空的。看起来敲除映射并没有完全起作用。

控制器团体:

public ActionResult Save(
                           IEnumerable<ItemModel> eventlist,
                           ViewHeaderModel model)

     var vm = @Html.Raw(Json.Encode(Model));
        $.ajax({
            async: false,
            url: '/controller/schedule/save,
            data: $('#myForm').serialize()+"&" +$.param({'eventlist': ko.toJS(self.DraftKoModel.ScheduleItems)}),
            type: 'POST',
            contentType: 'application/json; charset=utf-8',
            traditional: true,
            success: function (result) {
              alert("HEEEEEEELP! I'm trapped!")
            } 
        });

刚刚测试添加了一个快速测试页面到我的应用程序。下面的代码应该工作:

$.ajax({
    url: '/controller/schedule/save',
    data: $("#myForm").serialize() + "&" + $.param({'eventlist' : ko.toJS(self.DraftKoModel.ScheduleItems}),
    type: "POST",
    dataType: "application/JSON",
    success: function (result) {
          alert("HEEEEEEELP! I'm trapped!")
        } 
});

用这篇博客文章作为参考,把这些放在一起。

如果有帮助,请告诉我!

相关内容

  • 没有找到相关文章

最新更新