我正在使用Kendo Gridview来显示一些记录。当从数据库中检索并存储在同一类的列表中时,这些记录在Json中。列表的计数为1000时没有问题,但是1000以上的任何数字都会触发异常:" 错误在使用JSON JavaScriptSerializer进行序列化或反序列化期间。字符串的长度超过maxJsonLength属性上设置的值。"
我已尝试在web.config和appsettings中更改maxJsonLength值,这是我在堆栈溢出时发现的一些解决方案中的建议。但它们都不起作用。这是我的观点:
@(Html.Kendo().Grid(Model)
.Name("grid")
.Scrollable()
.Filterable()
.Columns(columns =>
{
//Columns added here
})
.Selectable(selectable => selectable.Mode(GridSelectionMode.Single))
.Pageable(pageable => pageable
.Refresh(false)
.PageSizes(true)
.ButtonCount(3))
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
.Model(model =>
{
model.Id(p => p.Id);
model.Field(p => p.Id).Editable(false);
})
.Read(read => read.Action("Action", "Controller"))
.PageSize(50)
)
.Events(e => e.DataBound("selectDefault"))
答案 0 :(得分:0)
我开始意识到我传递给视图的Json列表有太多复杂的数据类型(即类对象和枚举),这就是没有解决方案有效的原因。所以我提到了这个link中描述的解决方案,并创建了一个中间视图模型。在这个模型中,我添加了我想要的所有必要属性并将其传递给视图。它现在工作得很好