Listview 剑道列表不能更新/刷新

Listview 剑道列表不能更新/刷新,listview,kendo-ui,datasource,kendo-asp.net-mvc,Listview,Kendo Ui,Datasource,Kendo Asp.net Mvc,使用按钮更新剑道列表视图时遇到问题。 SubTasks_Read函数在代码隐藏中被调用,并从wcf返回数据,但是当我绑定它时,listview没有改变。 请帮忙 这是我的密码: <div class="subtasks-div"> <div class="section-header"> <p>Subtasks</p> </div> @(Html.Kendo().ListView<Origi

使用按钮更新剑道列表视图时遇到问题。
SubTasks_Read函数在代码隐藏中被调用,并从wcf返回数据,但是当我绑定它时,listview没有改变。 请帮忙

这是我的密码:

<div class="subtasks-div">
    <div class="section-header">
        <p>Subtasks</p>
    </div>
    @(Html.Kendo().ListView<Origin.Web.AdminProxy.SubTask>(Model.SubTaskList)
        .Name("subtask-listView")
        .TagName("div")
        .ClientTemplateId("subtask-template")
        .DataSource(dataSource =>
        {
            dataSource.Read(read => read.Action("SubTasks_Read", "WorkFlow"));
            dataSource.PageSize(15);
        })
        .Selectable(selectable => selectable.Mode(ListViewSelectionMode.Single))
    )
</div>

<script>
 $(function () {
     $("#refresh-button")
     .button()
     .click(function (event) {

         var subTaskDataSource = new kendo.data.DataSource({
             transport: {
                 read: {
                     type: "GET",
                     url: "../WorkFlow/SubTasks_Read/?taskId=2",
                     dataType: "jsonp"
                 },

             },

             schema: {
                 model: {
                     fields: {
                         subTaskId: { type: "number" },
                         taskId: { type: "number" },
                         subTaskName: { type: "string" },
                         subTaskOrder: { type: "number" }
                     }
                 }
             }
         });


         $("#subtask-listView").kendoListView({
             dataSource: subTaskDataSource
         });

     });
 });

子任务

@(Html.Kendo().ListView(Model.SubTaskList) .Name(“子任务列表视图”) .TagName(“div”) .ClientTemplateId(“子任务模板”) .DataSource(DataSource=> { Read(Read=>Read.Action(“子任务读取”、“工作流”); 数据源。页面大小(15); }) .Selectable(可选=>Selectable.Mode(ListViewSelectionMode.Single)) ) $(函数(){ $(“#刷新按钮”) .按钮() 。单击(功能(事件){ var subTaskDataSource=new kendo.data.DataSource({ 运输:{ 阅读:{ 键入:“获取”, url:“../WorkFlow/SubTasks\u Read/?taskId=2”, 数据类型:“jsonp” }, }, 模式:{ 型号:{ 字段:{ 子任务:{type:“number”}, taskId:{type:“number”}, 子任务名称:{type:“string”}, subTaskOrder:{type:“number”} } } } }); $(“#子任务列表视图”).kendoListView({ 数据源:subTaskDataSource }); }); });
您的代码有几个问题:

  • 它创建一个JSONP数据源,而您的操作方法可能返回JSON(这是有区别的)
  • 您的代码重新创建了不需要的ListView
  • 我建议只调用当前列表视图数据源的方法

    $("#refresh-button")
     .button()
     .click(function (event) {
         $("#subtask-listView").data("kendoListView").dataSource.read();
     });