如何使用Kendo Grid上客户端模板中项目的ID创建超链接

时间:2015-06-11 10:29:08

标签: asp.net-mvc kendo-ui

所以我有一个Kendo Grid使用' Hierarchical'机制。当我来到我的客户端模板部分时,我这样做:

 .Columns(column =>
                    {
                        column.Bound(o => o.Id).Width(110);
                        column.Bound(o => o.Title);
                        column.Bound(model => model.Id)
                                    .ClientTemplate(String.Format("<a href=\"{0}\" data-title=\"View Stuff\" class=\"stuff\"><i class=\"glyphicon glyph-btn directory\">Stuff</i></a>", Url.Action("Details", "Stuff", new { Id = "#=Id#" })))
                                    .Width(40)
                                    .Title("View");                    
                    })

当我运行它时,Id(在第一列上)正确显示 - 通过其正确的ID识别组项。但是,当我尝试使用&#34;#= Id#&#34;在我的超链接中,这总是指我单击以显示组(客户端模板)的原始项目的ID。

有没有人知道如何在超链接中使用组项的Id(即第一列的输出)?

提前致谢

1 个答案:

答案 0 :(得分:2)

如果你看一下这个telerik question的答案:

您需要在\\#Id\\#方法中使用ChildTemplate来表示您正在访问当前子元素,而不是父元素。将语法更改为以下内容:

.ClientTemplate(String.Format("<a href=\"{0}\" data-title=\"View Stuff\" class=\"stuff\"><i class=\"glyphicon glyph-btn directory\">Stuff</i></a>", Url.Action("Details", "Stuff", new { Id = "\\#=Id\\#" })))