JavaScript | Serializer期间ASP.NET MVC中的MaxJsonLength异常
|
在我的控制器动作之一中,我返回一个很大的ѭ0来填充网格。
我收到以下“ 1”例外:
使用JSON JavaScriptSerializer进行序列化或反序列化时出错。字符串的长度超过了在maxJsonLength属性上设置的值。
不幸的是,将
web.config
中的maxJsonLength
属性设置为较高的值不会显示任何效果。
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength=\"2147483644\"/>
</webServices>
</scripting>
</system.web.extensions>
我不想像SO答案中提到的那样将其作为字符串传递回来。
在我的研究中,我偶然发现了这篇博客文章,建议您自己写ActionResult
(例如LargeJsonResult : JsonResult
)来绕过此行为。
这是唯一的解决方案吗?
这是ASP.NET MVC中的错误吗?
我想念什么吗?
非常感激任何的帮助。
没有找到相关结果
已邀请:
14 个回复
耐扫鹤胶鞭
俺呵誓放胳
,而不是将
子类化。
桔适丛
蹄寄噬非芹
是您要序列化的数据。
净爽
字符串,则无需设置
值。
芜任亮蜡
抢垢洛韧
这里的问题是\“ select u \”获取所有字段。因此,如果您有大图片,请放心。 怎么解决?非常非常简单
最佳做法是仅选择要使用的字段。 记得。这是一个简单的技巧,但可以帮助许多ASP.NET MVC开发人员。
擅香
文件来完成。
添加一个web.config条目:
然后创建以下两个类
这基本上是在ѭ24found中找到的默认实现的精确副本,但是添加了可配置的web.config appsetting值
。
荆怖赡
之前,以上方法均无法解决。 并将ajax类型定为
。
和ajax称为
粱委教
确保在web.config中定义了配置元素
屉杆绊
嘘崇蔡对
是我在MVC 4中修复的问题吗?
芯伶句餐绕
系统抛出类似这样的异常“使用JSON JavaScriptSerializer进行序列化或反序列化时出错。字符串的长度超过了在maxJsonLength属性上设置的值。参数名称:input \” 在这种情况下,仅更改Web.config设置不足以提供帮助。您还可以重写mvc json序列化程序,以支持巨大的数据模型大小,或从Request中手动反序列化模型。您的控制器方法变为:
蹄渭信妥扳
现在,
将在js页面上可用,您将获得正确的结果。 谢谢