1
<%:
    Html.Telerik().TreeView()
    .Name("ZebTree")
    .ExpandAll(false)
    .ClientEvents(events => events.OnSelect("TreeView_onSelect"))
    .BindTo(Model , map =>
            {
                map.For<TreeViewBind.Models.Category>(bind => bind.ItemDataBound((item, category) => { item.Text = category.CategoryName; }).Children(category => category.Products));
                map.For<TreeViewBind.Models.Product>(bind => bind.ItemDataBound((item, product) => { item.Text = product.ProductName;}));
            }        
    )
%>

以上是telerik mvc中生成树的代码。我想通过选择节点来执行操作。当有人单击特定节点时,我希望它导航到关于页面并将该节点的文本作为参数传递给关于页面。

4

2 回答 2

2

OnSelect 原型:

function TreeView_onSelect(e) {

}

e 只有 1 个元素,“item”,它是被选中的 LI 元素。所以,一个例子是:

function TreeView_onSelect(e) {
    alert($(e.item).text());
}

见这里:http ://www.telerik.com/help/aspnet-mvc/telerik-ui-components-treeview-client-api-and-events.html#ClientEvents

于 2012-08-01T04:48:30.163 回答
1

各位,

实际上有一个方法叫做 Action 你可以用它来指定你希望你的项目指向的动作。您可能看不到它,因为智能很混乱。你可以像这样更具体一点:

.BindTo(Model,(NavigationBindingFactory<TreeViewItem> mappings) =>
    {
        mappings.For<Category>(binding => binding
                .ItemDataBound((item, category) =>
                {
                    item.Action("Test", "Home", new{text=category.CategoryName});//here you can assign the action method , the last parameter is the route values
                    item.Text = category.CategoryName;
                })
     }

我希望这就是你要找的。

于 2012-08-06T21:41:11.180 回答