2016-02-19 91 views
0

我在我的asp.net mvc页面上有一个kendo ui treeview和一个dropdownbox。下拉框可以有两个值。根据选择哪一个,我想更改数据源url,这是控制器中的一种方法。来自这两个url的数据类型和数据结构都是相同的。基本上我想动态地改变url:'@ Url.Content(“〜/ Document/GetMyDocument”)'。以下是我的树视图代码:如何动态更改剑道UI树视图数据源

<script> 
    $("#treeview").kendoTreeView({ 
    checkboxes: { 
    checkChildren: true, 

}, 
dataSource: { 
transport: { 
    read: { 
     url: '@Url.Content("~/Document/GetMyDocument")', 
    type: "post", 
    dataType: "json" 
    } 
}, 
schema: { 
    model: { 
    text: "Name", 
    spriteCssClass: "fa fa-folder", 
    children: "Files" 
    } 
} 
}, 
    dataTextField: ["Name", "FileName"], 
    dataValueField: ["id"], 
    check: onCheck 
}); 

回答

0

您可以指定树形数据源的URL的功能

transport: { 
    read: { 
    url: function (e) { } 
    } 
} 

然后,您可以监听变化事件将DropDownList和呼叫

$('#treeview').data('kendoTreeView').dataSource.read(); 

在url函数中你可以得到DropDownList的值并动态地解析url:

var ddl = $('#myDDl').data('kendoDropDownList'); 
var value = ddl.value(); 
return value == "someValue" ? "/foo/bar": "/bar/baz";