Ajax не работает из-за начальной загрузки сетки, шаблонов и шаблонов клиентов - PullRequest
1 голос
/ 02 августа 2011

У меня есть следующий код:

@using com.mycompany.myproject.web.ViewModels
@model IEnumerable

@{ Html.Telerik().Grid(Model)
    .Name("Deducciones")
    .Columns(columns => {
        columns.Bound(p => p.IdDeducciones).ClientTemplate("");
        columns.Bound(p => p.FechaInscripcion).Width(50);
        columns.Bound(p => p.FechaFin).Width(400);
                        })
    .DataBinding(dataBinding => dataBinding
        //Ajax binding
        .Ajax()
        //The action method which will return JSON
        .Select("DeduccionesAjax", "Empleados", new { id = ViewBag.Id })
    )
    .Pageable(pager => pager.PageSize(2))
    .Sortable()
    .Render(); }

Сетка отрисовывается нормально, но использует шаблон клиента только когда я перехожу на страницу 2, например. При начальной загрузке он не использует его. В качестве обходного пути я добавил .Template(@<text><a href='#'>@item.IdDeducciones</a></text>); после ClientTemplate, и теперь он работает как при начальной загрузке, так и после. Однако это кажется странным, поскольку ни в одном из примеров или документов, которые я видел, не указан ни шаблон, ни шаблон клиента.

Есть ли что-то, чего мне не хватает, из-за которого первая загрузка не идет из Ajax или что-то подобное?

Заранее спасибо.

1 Ответ

1 голос
/ 03 августа 2011

Как я ответил в ветке , которую вы открыли на форумах Telerik, это ожидается и задокументировано .Клиентские шаблоны применяются только при выполнении привязки клиента (например, ajax).Шаблоны применяются во время привязки сервера, например:

Html.Telerik().Grid(Model)
...