【问题标题】:How to get JSON object by Query string如何通过查询字符串获取 JSON 对象
【发布时间】:2013-04-29 17:16:27
【问题描述】:

我必须处理以下查询: 控制器/动作?查询 ={"action":"test","id":"13037313353","pin":"452312"} 通过 GET。

我的视图模型:

 public class ValidatePinViewModel
    {
        public ActionType action { get; set; }

        public int Id { get; set; }

        public int Pin { get; set; }
    }

控制器

 public JsonResult ValidateVisit(CommonViewModel model)
        {
            //model is null          

            return Json(new InvalidPin());
        }

现在我的观点为 null。我怎样才能得到正确的模型

【问题讨论】:

    标签: c# asp.net-mvc-4 get


    【解决方案1】:

    由于关于这个问题的支持性信息很少,我要试一试,说你不是POSTING 采取行动。例如

    [HttpPost] // <-- Make sure you define your POST action
    public JsonResult ValidateVisit(CommonViewModel model)
    {
       ...
    }
    

    GET,正如您在标签中所指出的那样,不会发布模型。除非您在定义表单元素的位置以及操作本身都明确表示它,否则它将为空。

    【讨论】:

    • 是的,我正在使用另一个服务,它通过 GET 发送此类查询。
    • 那么其他服务出错了。如果其他服务正在发布数据,它应该使用 POST。
    • 我知道。我不能改变它。我只能使用它。
    【解决方案2】:

    我可以添加一个字符串来获取对象。

    类似:

     public JsonResult ValidateVisit(string query)
     {
        ValidatePinViewModel model = Json.Deserialize<ValidatePinViewModel>(query);       
        return Json(new InvalidPin());
     }
    

    【讨论】:

      猜你喜欢
      • 2015-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-09
      • 1970-01-01
      相关资源
      最近更新 更多