我编写了两个函数,假设其中一个函数获取了所有通知的列表,其中一个获得了新的通知,我写了一个调用第一个方法的脚本并获取Json格式的所有通知列表,并编写另一个脚本每隔8秒调用第二种方法,并以Json格式获取新的通知。我在KendoUI数据源中显示这些通知。所以我只有一个KendoUI数据源组件有两个数据源,我想在一个数据源中添加两个数据源,有没有办法做到这一点?
编辑:这是我的代码
<script id="template" type="text/x-kendo-template">
<tr>
<td>#= ID #</td>
<td>#= TITLE #</td>
<td>#= DESC #</td>
</tr>
</script>
我的第一个脚本,它会让我们列出所有通知:
var datas = function () {
var objects = [];
$.ajax({
type: "POST",
url: "./WebForm1.aspx/GetNoti",
data: {},
async: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
success:
function (response) {
for (var i = 0; i < response.d.length; i++) {
objects.push({ 'ID': response.d[i].ID, 'TITLE': response.d[i].TITLE, 'DESC': response.d[i].DESC });
}
},
});
return objects;
};
var dataSource = new kendo.data.DataSource({
data: datas(),
change: function () {
$("#movies tbody").html(kendo.render(template, this.view()));
}
});
dataSource.read();
这是我的第二个脚本,它调用方法每8秒为我们提供一次新通知:
$("#go").click(function () {
setInterval(
function () { test2();}, 8000);
});
var p = function () {
var objects = [];
$.ajax({
type: "POST",
url: "./WebForm1.aspx/GetUnCheckNotification",
data: {},
async: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
success:
function (response) {
for (var i = 0; i < response.d.length; i++) {
objects.push({ 'ID': response.d[i].ID, 'TITLE': response.d[i].TITLE, 'DESC': response.d[i].DESC });
}
},
});
return objects;
};
function test2() {
var dataSource2 = new kendo.data.DataSource({
data: p(),
change: function () {
$("#movies tbody").html(kendo.render(template, this.view()));
}
});
dataSource2.read();
}
现在我想要这样的事情:
dataSource = dataSource + dataSource2
dataSource.read();
还有吗?
答案 0 :(得分:1)
JSON格式cab是一个嵌套结构。定义视图模型然后使用它。
public class Report
{
public int Id {set; get;}
public string Title {set; get;}
public string Desc {set; get;}
}
public class MyReportViewModel
{
public List<Report> NewNotifications {set;get;}
public List<Report> AllNotifications {set;get;}
}
答案 1 :(得分:0)