Telerik MVC Grid не будет загружать данные в таблицу данных (подтаблицу) - PullRequest
1 голос
/ 12 января 2011

У меня есть список растений и связанных с ними проектов.Я хочу вывести это в таблицу со всеми Растениями и использовать Telerik.Grid, чтобы развернуть Завод, показать Telerik.Grid со связанными Проектами.Я хочу, чтобы проекты были динамически загружены с помощью Ajax.

Код для сетки:

@(Html.Telerik().Grid<PlantDto>()
  .Name("Plants")
  .Columns(columns =>
    {
        columns.Bound(plant => plant.Title);
    })
  .DetailView(details => details.ClientTemplate(
    Html.Telerik().Grid<ProjectDto>()
    .Name("Plant_<#= Id #>")
    .DataBinding(dataBinding => dataBinding.Ajax()
            .Select("ProjectsForPlant", "User", new { plantId = "<#= Id #>" }))
        .ToHtmlString()
  ))
  .DataBinding(dataBinding => dataBinding.Ajax().Select("PlantsForUser", "User"))
)

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

Глядя в FireBug, звонков на сервер нет.Контроллер, который должен обслуживать список проектов, никогда не вызывается.

Кто-нибудь имеет представление о том, что это может быть?

Обновление : Похоже, что причиной проблемы было то, что на plant.id был "$".Как "PCD $ ODIN".Похоже, это усложнило жизнь JavaScript.

1 Ответ

1 голос
/ 12 января 2011

Я сравнил вашу конфигурацию с здесь , и она выглядит идентично. Проверьте, является ли этот метод выбора:

.Select("ProjectsForPlant", "User", new { plantId = "<#= Id #>" }))

Установите идентификатор завода правильно, и если вам нужно назвать его точно так же, как поле Id вместо plantId, то есть ::100100

.Select("ProjectsForPlant", "User", new { Id = "<#= Id #>" }))
...