1、Web.config
网上大部分的解决方案为
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483644" />
</webServices>
</scripting>
</system.web.extensions>
或许是我的JSON还是太长,这个解决方案并未起作用。
2、从返回值方面修改(推荐)
将原本返回的JsonResult改为ActionResult,真正返回时返回ContentResult
代码如下:
var serializer = new JavaScriptSerializer();//使用原生Json转换类
serializer.MaxJsonLength = Int32.MaxValue;
var result = new ContentResult
{
Content = JsonConvert.SerializeObject(list),// serializer.Serialize(list), //data为要序列化的LINQ对象
ContentType = "application/json"
};return result;
或:
ContentResult result = new ContentResult
{
Content = JsonConvert.SerializeObject(list),//serializer.Serialize(list), //data为要序列化的LINQ对象
ContentType = "application/json"
};
return result;