Kendo ui 剑道树视图不为自定义模板生成数据属性

Kendo ui 剑道树视图不为自定义模板生成数据属性,kendo-ui,kendo-asp.net-mvc,kendo-treeview,Kendo Ui,Kendo Asp.net Mvc,Kendo Treeview,我正在使用Kendo.Mvc.UI.TreeViewItemModel构建Kendo树视图。除了Id和Text属性之外,此类还具有HtmlAttributes类型IDictionary 我可以在构建模型时将任何附加数据添加到HtmlAttributes属性中,kendo会在树节点上将这些Html属性呈现为Htmldata属性 public IEnumerable<TreeViewItemModel> BuildTreeView(IEnumerable<MyGroup&g

我正在使用
Kendo.Mvc.UI.TreeViewItemModel
构建Kendo树视图。除了
Id
Text
属性之外,此类还具有
HtmlAttributes
类型
IDictionary

我可以在构建模型时将任何附加数据添加到
HtmlAttributes
属性中,kendo会在树节点上将这些Html属性呈现为Html
data
属性

    public IEnumerable<TreeViewItemModel> BuildTreeView(IEnumerable<MyGroup> groups)
    {
        var nodes = new List<TreeViewItemModel>();

        foreach (var grp in groups)
        {
            var root = new TreeViewItemModel()
            {
                Id = "0",
                Text = grp.Key,
                HasChildren = grp.Any()
            };

            foreach (var item in grp)
            {
                var dictionary = new Dictionary<string, string>();
                dictionary.Add("data-template-id",item.TemplateID.ToString());                    
                dictionary.Add("data-filename", item.FileName);
                root.Items.Add(new TreeViewItemModel()
                {
                    Text = item.DisplayText,
                    HasChildren = false,
                    HtmlAttributes = dictionary
                });
            }
            nodes.Add(root);
        }
        return nodes;
    }
然后在JS中,我可以访问这些数据

   var _treeView = $("#MyTreeView").getKendoTreeView();
   var htmlItem = _treeView.select();
   var templateid = htmlItem.data("template-id");
   var filename = htmlItem.data("filename");
只要我使用剑道的默认模板,这就可以正常工作。但是,如果我使用自定义模板,那么剑道不会生成数据属性

           @(Html.Kendo().TreeView()
                .Name("MyTreeView")
                .TemplateId("treeViewItemTemplate")
                .BindTo(Model.Items))


<script type="text/x-kendo-tmpl" id="treeViewItemTemplate">
    <span>#=item.text#</span>
    # if (!item.items){#
        <span class="glyphicon glyphicon-plus-sign" aria-hidden=true></span>
    #}#
</script>
@(Html.Kendo().TreeView()
.名称(“MyTreeView”)
.TemplateId(“treeViewItemTemplate”)
.BindTo(型号项目))
#=item.text#
#如果(!item.items){#
#}#
现在,当页面呈现并使用F12查看树节点(即
li
tag)时,我看不到任何数据属性

           @(Html.Kendo().TreeView()
                .Name("MyTreeView")
                .TemplateId("treeViewItemTemplate")
                .BindTo(Model.Items))


<script type="text/x-kendo-tmpl" id="treeViewItemTemplate">
    <span>#=item.text#</span>
    # if (!item.items){#
        <span class="glyphicon glyphicon-plus-sign" aria-hidden=true></span>
    #}#
</script>