我只是花了一个没有结果的早晨尝试各种"变通办法"已被建议 - 通常用于比我之后更具体的情况。我试图做的就是使用JQuery加载方法传递ASP.NET MVC模型。它似乎喜欢
var myModel = {
Message: "@Model.Message",
PageNumber: "@Model.PageNumber",
UserList: ["@Model.UserList"] }
只要这样我就能成功发布三个领域中的两个。但是,我为列表获取null。这是可以预测的,因为我没有以正确的格式编写列表。但是,如果用户数量很大且不确定, 我将如何编写 ,因此我无法用手填写每个条目"?我可能让它通过Razor怪物工作,但我想在物理上可能的情况下避免这种情况。
当然有一种简单的方法可以做到这一点吗?最终我要做的就是将包含大型列表的模型转换为Javascript中的JSON对象。
答案 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传递一个相当标准的列表是不合理或不值得的。