mvc中 在做一个post提交需要从控制器返回一个字符串(字符串有点长)
当向服务端提交请求时(ajax)post数据非常大的情况下,post数据中有超过450个对象数组时,请求会返回错误信息:“使用JSON JavaScriptSerializer进行序列化或反序列化时出错。字符串的长度超过了为maxJsonLength属性设置的值”。
解决方法:
public static class ControllerHelper
{
#region Json
public static int MaxJsonLength { get; set; }
static ControllerHelper()
{
MaxJsonLength = 2147483644;
}
public static JsonResult LargeJson(object data)
{
return new JsonResult()
{
Data = data,
MaxJsonLength = MaxJsonLength,
};
}
public static JsonResult LargeJson(object data, JsonRequestBehavior behavior)
{
return new JsonResult()
{
Data = data,
JsonRequestBehavior = behavior,
MaxJsonLength = MaxJsonLength
};
}
#endregion
}
使用:
public JsonResult GetResult()
{
return ControllerHelper.LargeJson(MyData, JsonRequestBehavior.AllowGet);
}