C# mvc 自定义JsonValueProviderFactory 反序列化自定义对象问题
由于其他的方法,提交json字符串太大,使用JsonValueProviderFactory一个类继承ValueProviderFactory
重写:
public override IValueProvider GetValueProvider(ControllerContext controllerContext)
{
if (controllerContext == null)
throw new ArgumentNullException("controllerContext");
if (!controllerContext.HttpContext.Request.ContentType.StartsWith("application/json", StringComparison.OrdinalIgnoreCase))
return null;
var reader = new StreamReader(controllerContext.HttpContext.Request.InputStream);
var bodyText = reader.ReadToEnd();
return string.IsNullOrEmpty(bodyText) ? null : new DictionaryValueProvider<object>(JsonConvert.DeserializeObject<ExpandoObject>(bodyText, new ExpandoObjectConverter()), CultureInfo.CurrentCulture);
}
[HttpPost]
public ActionResult GetPage(PageCondition pageCondition)
{
var data = UserService.Instance.GetPage(pageCondition);
var result = data == null ? null : new EasyPageResult
{
total = data.Item1,
rows = data.Item2
};
return GetEasyPageResult(result);
}
bodyText:{"pageCondition":{"Condition":{"Sorting":[],"Filters":[]},"PageFilter":{"CurrentIndex":1,"PageSize":15}}}
pageCondition 是null,请教各位指点指点