Kendo 读取成功时 DropdownList MVC 绑定 JS 函数

Kendo DropdownList MVC bind JS function on Read Success

我正在使用 Kendo ASP.NET MVC 并使用 DataSource 进行 Html.Kendo().DropDownListFor 控制。 DataSource 绑定在 cshtml 文件中。我需要捕获 jquery 中读取的成功事件。在 Kendo Jquery 中,我们可以有如下内容。

        read: {
            url: "/Test/GetById",                
            success: function(result) {
                //custom code;
            }
        }

如何在 MVC 控件中拥有相同的东西。

            Html.Kendo().DropDownListFor(model => model.Prop)
            .DataTextField("Field")
            .DataValueField("Id")
            .DataSource(dataSource =>
            {
            dataSource.Read(read => read.Action("Action", "CTRL"));
            });
            

有没有我应该捕捉的事件。

requestEnd and the error 事件可用于此。如果由于某种原因您的读取方法失败,将触发错误事件。否则,将触发 requestEnd 事件。然后您可以检查事件数据中的 type 是否等于 read,这意味着 Read 方法已成功完成。

这是一个例子:

<script>
    function onError(e) {
        console.log(e.status) // displays "error";
    },

    function onRequestEnd(e) {
        if (e.type === "read") {
            // Read method successfully finished
        }
    }
</script>

@(Html.Kendo().DropDownList()
  .Name("products")
  .DataTextField("ProductName")
  .DataValueField("ProductID")
  .DataSource(source => 
  {
      source.Read(read => read.Action("RemoteDataSource_GetProducts", "DropDownList"));
      source.Events(events => events.Error("onError").RequestEnd("onRequestEnd"));
  })
)

查看 kendo.data.DataSource 的配置页面以获取有关事件的更多信息。