У меня есть сетка KendoUI, передающая изображение как часть шаблона, глядя, как это:Ошибки при сериализации или десериализации с помощью JSON JavaScriptSerializer в KendoUI
@(Html.Kendo().Grid(Model.UnitDetails)
.Name("grid")
.DataSource(ds => ds
.Ajax()
.Read(read => read.Action("Get", "FleetMonitor"))
.AutoSync(true)
.PageSize(3)
)
.HtmlAttributes(new { style = "height:auto;" })
.Columns(columns =>
{
columns.Template(p => { }).ClientTemplate(" ").Width(270);
columns.Template(p => { }).ClientTemplate(" ").Width(250);
columns.Template(p => { }).ClientTemplate(" ").Width(150);
columns.Template(p => { }).ClientTemplate(" ").Width(550);
columns.Template(p => { }).ClientTemplate(" ").Width(25);
columns.Template(p => { }).ClientTemplate(" ").Width(100);
})
.ClientRowTemplate(Html.Partial("_ClientRowTemplate", Model).ToHtmlString())
.Pageable()
.Sortable())
Но всякий раз, когда я загрузить страницу сбои сетки со следующим исключением:
Ошибка при сериализации или десериализации с использованием JSON JavaScriptSerializer. Длина строки превышает значение по свойству maxJsonLength.
Итак, я гугле за него, и это привело меня к SO, который дал предложение к проблеме (Мой контроллер):
public ActionResult Get([DataSourceRequest] DataSourceRequest request, string tag)
{
UnitContract[] listOfUnitsFromService = UnitClient.GetListOfUnits(false, tag, true);
var cookie = Request.Cookies.Get("Company.Name.UnitTagCookie");
Model = new FleetMonitorModel
{
UnitDetails = GenerateUnitDetails(listOfUnitsFromService.ToList()),
Tags = GetAvailableTags(),
Refresh = true,
SelectedTag = GetTagFromCookie(cookie)
};
var jsonResult = Json(Model.UnitDetails.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
jsonResult.MaxJsonLength = Int32.MaxValue;
return jsonResult;
}
Итак, кто-то может предоставить некоторые идеи для этого, и в возможно обходное решение? :) Надо сказать, что это работает, и делает шаблон, если изменить сетку инициализационной-часть от этого:
@(Html.Kendo().Grid(Model.UnitDetails)
...
Для этого:
@(Html.Kendo().Grid<UnitDetailsModel>()
Однако это нарушает некоторые другие функции в моем сетка. Чтобы быть более конкретным; он почему-то мешает работе SignalR-js.