剑道UI单独访问2个数组Json
我有一个json,它作为两个数据数组从MVC控制器返回(第一个是对象,第二个是基本类型字符串) 我使用的viewmodel如下所示:剑道UI单独访问2个数组Json,json,asp.net-mvc,kendo-ui,Json,Asp.net Mvc,Kendo Ui,我有一个json,它作为两个数据数组从MVC控制器返回(第一个是对象,第二个是基本类型字符串) 我使用的viewmodel如下所示: <script type="text/javascript"> var viewModel = kendo.observable({ autoSync: true, dataComparisons: new kendo.data.DataSource({ transport: {
<script type="text/javascript">
var viewModel = kendo.observable({
autoSync: true,
dataComparisons: new kendo.data.DataSource({
transport: {
read: {
url: "/dashboard/categoriesChartFilteredData",
dataType: "json"
}
},
})
});
kendo.bind($("#container"), viewModel);
</script>
var viewModel=kendo.observable({
自动同步:对,
数据比较:新建kendo.data.DataSource({
运输:{
阅读:{
url:“/dashboard/CategoriesChartFilteredata”,
数据类型:“json”
}
},
})
});
bind($(“#容器”),viewModel);
kendo.data.DataSource
不是为处理多个数据数组而设计的。将其拆分为单独的请求或进行自定义手动ajax请求,然后填充viewModel
更新
1.独立的数据源(两个独立的mvc操作categoriesData
和brandNames
和绑定data bind=“source:categoriesData
和data bind=“source:brandNames
):
2.外部ajax请求:
$.ajax({
type:'post', //or 'get'
url:'/dashboard/categoriesChartFilteredData',
success:function(data){
var viewModel = kendo.observable({
autoSync: true,
dataComparisons: data
});
kendo.bind($("#container"), viewModel);
}
})
嗨,Gene R,谢谢你的提示。那么就没有办法将json拆分成两个表,然后通过数据源来区分它们了吗?我读过关于反序列化json的文章,它可以完成这项工作,但我尝试的方式对我来说并不奏效。你能给我一些关于你提到的两个选项的额外见解吗?在一个视图模型中有两个或多个独立的数据源有意义吗?谢谢您的解释。
<script type="text/javascript">
var viewModel = kendo.observable({
autoSync: true,
dataComparisons: new kendo.data.DataSource({
transport: {
read: {
url: "/dashboard/categoriesChartFilteredData",
dataType: "json"
}
},
})
});
kendo.bind($("#container"), viewModel);
</script>
var viewModel = kendo.observable({
autoSync: true,
categoriesData: new kendo.data.DataSource({
transport: {
read: {
url: "/dashboard/categoriesData",
dataType: "json"
}
},
}),
brandNames: new kendo.data.DataSource({
transport: {
read: {
url: "/dashboard/brandNames",
dataType: "json"
}
},
})
});
$.ajax({
type:'post', //or 'get'
url:'/dashboard/categoriesChartFilteredData',
success:function(data){
var viewModel = kendo.observable({
autoSync: true,
dataComparisons: data
});
kendo.bind($("#container"), viewModel);
}
})