如何通过Query字符串获取JSON对象

时间:2013-04-29 17:16:27

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

我必须处理以下查询: Controller / Action?query = {“action”:“test”,“id”:“13037313353”,“pin”:“452312”} 通过GET。

我的ViewModel:

 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());
        }

现在我的观点为空。我如何才能获得正确的模型

2 个答案:

答案 0 :(得分:1)

由于关于这个问题的支持信息非常少,我将采取行动并说你不是POSTING采取行动。 e.g。

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

GET ,因为您在标签中使用了speficy,不会发布模型。除非您在定义表单元素的位置以及操作本身上明确指出它,否则它将为null。

答案 1 :(得分:1)

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

类似的东西:

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