我有一个下拉菜单和一个树视图拖放。
@ Html.DropDownListFor(model => model.xyz,Model.xyzlist,new {id =“ dropdownid”})
现在我想在jQuery中的下拉更改事件上调用控制器操作方法。
<script>
var id = 0;
$('#dropdownid').change(function(){
id= $('#dropdownid').val();
});
如何在read:{} perameter的URL中使用id变量
datasource= new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: "@Html.Raw(Url.Action("actionmethod", "controllername", new { @ID= id }))",
type: "POST",
dataType: "json"
}
},
schema: {
model: {
id: "id",
hasChildren: "hasChildren",
//expanded: true
}
}
});
$(document).ready( function(){
$("#CountryZone-treeview").kendoTreeView({
loadOnDemand: false,
dataSource: datasource,
dataTextField: "Name",
dragAndDrop: true,..................etc
</script>
请帮我。
最佳答案
您可以使用transport.read.data
对象(see Kendo documentation here)发送其他数据。您的数据源可能如下所示:
datasource = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: "@Html.Raw(Url.Action("actionmethod", "controllername", new { @ID= id }))",
type: "POST",
dataType: "json"
data: { data: $('#dropdownid').val() }
}
},
schema: {
model: {
id: "id",
hasChildren: "hasChildren",
//expanded: true
}
}
});
您还可以为
data
提供一个函数名称(例如getDropDownId()
),而不是为$('#dropdownid').val()
提供更强大的代码(空检查等)。