Telerik Grid (MVC) не отображает возвращенный JSON - PullRequest
0 голосов
/ 24 мая 2011

у меня телерик MVC сетка. После внесения некоторых изменений в базовый код в сетке больше не отображаются результаты, возвращенные с сервера. Я вижу правильно отформатированный возврат JSON с сервера (используя функциональность панели инструментов веб-разработчика), но на самом деле сетка не отображает данные. Однако, это также не генерирует ошибку. Значок загрузки просто продолжает вращаться. У кого-нибудь есть предложения по локализации проблемы? Спасибо.

EDIT Ну, мне удалось сделать шаг вперед. Очевидно, что-то идет не так в функции «bindData», расположенной в telerik.grid.js. Более конкретно в строке 462:

460. var evaluate = column.display;
461. if (evaluate)
462.    html.cat(evaluate(data[rowIndex]));  

При попытке отобразить последний столбец в первой строке, оценивать устанавливается в анонимно и, как-то, это приводит к «невидимому» исключению. Разметка этого столбца:

columns.Bound(c => c.DocumentId)
    .ClientTemplate("<a href=\"" + Url.Content("/") +
        "/document/<#= DocumentId #>\" target=\"_blank\"><#= Naam #></a>")
    .Filterable(false)
    .Title("Naam");

Я не понимаю, почему это может быть проблемой, поскольку я без проблем использую подобные шаблоны в других местах.

EDIT Ладно, я понял. Очевидно, что некоторые исключения не будут отображаться в консоли Firefox / Firebug. Однако Visual Studio вместе с IE не имеют этой проблемы. В конце концов я обнаружил, что в IEnumerable действительно отсутствует поле «Наам».

Так что что-то, что можно забрать здесь, - это никогда не доверять результатам только из одного браузера; -)

1 Ответ

0 голосов
/ 24 мая 2011

Недавно у меня было похожее поведение, когда я изменил тип, который ожидала сетка.

Убедитесь, что ваш вызов ajax возвращает правильный IEnumerable, указанный в разметке сетки.

Вам нужно опубликовать код для GridAction и разметки, если вы хотите более точный ответ.

...