【问题标题】:Post Value Of ID from JSON Array to 'model.UserId'将 ID 的值从 JSON 数组发布到“model.UserId”
【发布时间】:2013-10-03 09:53:16
【问题描述】:

JSON 数组如下

[
  {
    "id":1,
    "Name":"hvhv",
    "Marks":11,
    "Grade":"hvh"
  },
  {
    "id":2,
    "Name":"f",
    "Marks":12,
    "Grade":"yf"
  },
  {
    "id":3
    "Name":"ds",
    "Marks":13,
    "Grade":"jhj"
  }
]

我希望控制器方法中这个数组的所有 ID 作为模型/字符串数组

我有一个名为 registerModel 的 RegisterModel 对象 我想发布所有 id 到 registerModel.UserId 和名称 registerModel.Name

【问题讨论】:

  • 使用 LINQ 将值加载到模型中。

标签: asp.net-mvc arrays json asp.net-mvc-4 arraylist


【解决方案1】:

如果您在控制器操作中收到此类 JSON,您可以尝试按如下方式使用它。 创建相似模型:

public class MyModel
{
 public int id {get; set;}
 public string Name {get; set;}
 public int Marks {get; set;}
 public sytring Grade {get; set;}
}

然后在你的控制器动作中:

public ActionResult MyAction (List<MyModel> models)
{
  foreach(var item in models)
  {
    var result = new registerModel 
      {
        name = item.Name,
        userID = id
       }
      //Do somthing with registerModel
   }
}

【讨论】:

  • 从视图发布数组时模型值为空
  • { 类型:“Post”,url:“/Home/GetBulk”,dataType:“json”,数据:{ name:array.Name,marks:array.Marks,grade:array.Grade }, 传统的: true, 成功: function (data) { alert("j= " + data); }, });
  • 要发送的数组是 var array = [ { Name: "Amit", Marks: 11, Grade: "A" }, { Name: "Abhishek", Marks: 12, Grade: "A" } ]
【解决方案2】:

您可以将来自HttpContext.Request 对象的 json 接收到您的模型列表中,例如,

        public ActionResult MyAction()
        {
            var resolveRequest = HttpContext.Request;
            List<RegisterModel> registerModelList = new List<RegisterModel>();
            resolveRequest.InputStream.Seek(0, SeekOrigin.Begin);
            string jsonString = new StreamReader(resolveRequest.InputStream).ReadToEnd();
            if (jsonString != null)
            {
                JavaScriptSerializer serializer = new JavaScriptSerializer();
                registerModelList = (List<RegisterModel>)serializer.Deserialize(jsonString, typeof(List<RegisterModel>));
            }
         }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    • 2012-11-26
    相关资源
    最近更新 更多