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

Posted

技术标签:

【中文标题】Kendo DropdownList MVC在读取成功时绑定JS函数【英文标题】:Kendo DropdownList MVC bind JS function on Read Success 【发布时间】:2021-06-30 21:54:49 【问题描述】:

我正在使用 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"));
            );
            

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

【问题讨论】:

【参考方案1】:

requestEnd 和 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 的配置页面以获取有关事件的更多信息。

【讨论】:

以上是关于Kendo DropdownList MVC在读取成功时绑定JS函数的主要内容,如果未能解决你的问题,请参考以下文章

Kendo DropDownList 问题在 MVC 上调用操作

在 Kendo Scheduler 自定义模板中绑定 DropDownList(ASP.NET MVC Wrapper 版本)

Kendo Jquery ForeignKey Dropdownlist 值

Knockout-Kendo dropdownlist Ajax observableArray 获取选中项名称

从 View 中读取 Control DropDownList

HTML.Kendo().Dropdownlist 设置默认项