【问题标题】:Kendo DropdownList MVC bind JS function on Read SuccessKendo DropdownList MVC在读取成功时绑定JS函数
【发布时间】:2023-03-25 05:23:01
【问题描述】:

我正在使用 Kendo ASP.NET MVC,并有一个带有 DataSourceHtml.Kendo().DropDownListFor 控件。数据源绑定在 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"));
            });
            

有什么我应该捕捉的事件吗?

【问题讨论】:

    标签: jquery asp.net-mvc kendo-ui kendo-asp.net-mvc


    【解决方案1】:

    requestEnderror 事件可用于此目的。如果由于某种原因您的读取方法失败,则会触发错误事件。否则,将触发 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 的配置页面以获取有关事件的更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-30
      • 2015-05-10
      • 1970-01-01
      • 2014-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多