如何将包含大型列表的MVC模型作为Ajax数据传递

时间:2016-02-03 11:06:57

标签: jquery ajax asp.net-mvc

我只是花了一个没有结果的早晨尝试各种"变通办法"已被建议 - 通常用于比我之后更具体的情况。我试图做的就是使用JQuery加载方法传递ASP.NET MVC模型。它似乎喜欢

  var myModel = {
            Message: "@Model.Message",
            PageNumber: "@Model.PageNumber",
            UserList: ["@Model.UserList"] }

只要这样我就能成功发布三个领域中的两个。但是,我为列表获取null。这是可以预测的,因为我没有以正确的格式编写列表。但是,如果用户数量很大且不确定, 我将如何编写 ,因此我无法用手填写每个条目"?我可能让它通过Razor怪物工作,但我想在物理上可能的情况下避免这种情况。

当然有一种简单的方法可以做到这一点吗?最终我要做的就是将包含大型列表的模型转换为Javascript中的JSON对象。

1 个答案:

答案 0 :(得分:-1)

上面的两个答案(会话数据并返回一个JSONResult)可能会起到我的作用(只是模糊地了解它们 - 仍然在这里学习绳索!)。然而,就问题的答案而言,我最终通过前面提到的Razor怪物来解决问题。即,

var myModel = {
        Message: "@Model.Message",
        PageNumber: "@Model.PageNumber",
        UserList: [

            @{
                for (int i = 0; i < Model.UserList.Count; i++)
    {
        @:{ Name : "@Model.UserList[i].Name ",
            @: Organization : "@Model.UserList[i].Organization "
            @:},
                }
    }        ]  };

编辑:我并不特别理解为什么当其他评论实际上没有回答所提出的问题时,人们正在贬低。我不认为如果不用手写出每一个条目就可以使用Ajax传递一个相当标准的列表是不合理或不值得的。