Ajax无法从网格的初始加载,模板和ClientTemplates中工作

时间:2011-08-02 19:25:53

标签: asp.net-mvc ajax telerik telerik-grid

我有以下代码:

@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页时使用客户端模板。在初始加载时它不使用它。 作为一种解决方法,我在ClientTemplate之后添加了.Template(@<text><a href='#'>@item.IdDeducciones</a></text>);,现在它适用于初始加载和之后。然而,这似乎很奇怪,因为我见过的示例或文档都没有指定模板和ClientTemplate。

是否有一些我缺少的东西让第一个负载不是来自Ajax或类似的东西?

提前致谢。

1 个答案:

答案 0 :(得分:1)

正如我在Telerik论坛中打开的forum thread中回复的那样,这是预期的documented。客户端模板仅在进行客户端绑定(例如ajax)时适用。在服务器绑定期间应用模板,例如:

Html.Telerik().Grid(Model)