Mvc控制器中的通用对象(json)捕获器?

时间:2019-02-14 05:00:27

标签: asp.net-mvc model-view-controller controller

是否有可能创建一个通用的Mvc控制器,该控制器从网页发布中捕获任何简单的Json对象,然后可以查询键/值,例如

public JsonResult SaveData(Dictionary<String, Object> rs)
        {
        PersonObject obj= new PersonObject();
        foreach (string Key in rs.Keys){
           if (Key == "name")
               obj.Name=rs[Key];
      }       

    }

My web page does something like this :
    var obj={"name" : "blah", "age": 38, "gender" : "lady"};
    $.post('SaveControler/saveData', obj, function(d){});

我基本上不想继续为每个实体构造自定义视图模型,而只是为每个控制器操作提供一些通用代码,这些代码可以使用反射来填充对象。

1 个答案:

答案 0 :(得分:0)

控制器:

public ActionResult About(string rs)
        {

            var values = JsonConvert.DeserializeObject<Dictionary<String, Object>>(rs);
            return Json(values);
        }

jQuery:

var obj = { "name": "blah", "age": 38, "gender": "lady" };
            $.post('@Url.Action("About")', { rs: JSON.stringify(obj) }, function (d) {
                debugger;
            });

有关更多信息,请查看James Newton答案