asp.net-mvc - 网格中的 kendo ui 客户端模板无法在 asp.net mvc 4 中工作

标签 asp.net-mvc asp.net-mvc-4 kendo-ui kendo-grid client-templates

我一直在寻找答案,并认为我错过了一些简单的东西。我有一个剑道网格,我希望其中一列成为另一个页面的链接,并将 id 作为路由参数。但是,列单元格中的值是绑定(bind)值,并且我的模板不会更改。任何对此的见解将不胜感激。

@(Html.Kendo().Grid((IEnumerable<ProviderAccess>)Model.Providers)
.Name("grants-grid")
.Columns(columns =>
{
    columns.Bound(a => a.ProviderName);
    columns.Bound(a => a.HasAccess);
    columns.Bound(a => a.ProviderId).ClientTemplate("#= toggleLink(data) #");
})
.Scrollable()
)

<script>
function toggleLink(access) {
    var action = '@Url.Action("Toggle", "Access")';

    var html = kendo.format("<a href='{0}/{1}'>Toggle...</a>",
        action,
        access.ProviderId
    );

    return html;
}
</script>

最佳答案

当 Kendo Grid 像您的代码一样绑定(bind)到服务器端的数据源时,不会使用 ClientTemplate。

您应该使用如下所示的列模板方法

 columns.Template(p => "<a href='..../Toggle/Access/" + p.ProviderId + "'>Click</a>");

关于asp.net-mvc - 网格中的 kendo ui 客户端模板无法在 asp.net mvc 4 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17140118/

相关文章:

jquery - 使用 MVC 从脚本和/或 Razor 模型 View 中显示和隐藏元素

kendo-ui - Kendo ui 模板不适用于 html 编码符号

javascript - Kendo UI 调度程序 - 右键单击​​单元格取消选择

c# - asp.net core 中的 TempData 为空

asp.net - Controller SessionStateBehavior 是只读的,我可以更新 session 变量

asp.net-mvc - 使用 jQuery getJson 发送列表/数组作为参数

c# - 未使用 ASP.NET MVC EditorTemplate

c# - 使用 jquery 设置一个值,在提交数据时删除对 ViewModel 的绑定(bind)

asp.net-mvc - 当前上下文中不存在 MVC Razor 帮助程序

jquery - 如何正确本地化kendo mobile中的字符串?