为了账号安全,请及时绑定邮箱和手机立即绑定

如何在更改事件上从 Kendo().DropDownList()

如何在更改事件上从 Kendo().DropDownList()

C#
万千封印 2023-09-09 16:08:13
我正在使用剑道网格和编辑器模板来显示我的数据。在编辑器中,我已将 id 指定给 DataValueField() 并将名称指定给 kendo 下拉列表的 DataTextField() 。在更改事件中,我无法获取 DataValueField()。看下面的代码这是我的编辑器模板 MemoCarrier.chtml@using System.Collections@(Html.Kendo().DropDownList()  .DataValueField("PARTNERID")  .DataTextField("PARTNERNAME")  .Name("AIRLINENAME")  .BindTo((IEnumerable)ViewBag.lstAirline)  .HtmlAttributes(new { maxlength = "", @class = "MNum" }) .OptionLabel("-Select-Flight ") .Filter(FilterType.Contains) .Events(e => {   e.Change("MemoCarrier"); }))这是我的更改功能function MemoCarrier(e) {    var AirlineName = this.value();    alert(AirlineName) //it displays PARTNERNAME instead of PARTNERID}目前我正在获取 name ie;DataTextField() 值。相反,我需要 DataValueField()。提前感谢您的建议!
查看完整描述

1 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

因此,根据您的评论,最简单的方法可能是使用该data-bind属性来简化绑定模型的过程。假设您也在网格中使用 MVC 助手。


因此,获取您的代码并添加以下内容:


@(Html.Kendo().DropDownList()

  .DataValueField("PARTNERID")

  .DataTextField("PARTNERNAME")


  .Name("AIRLINENAME")

  .BindTo((IEnumerable)ViewBag.lstAirline)

  .HtmlAttributes(new { maxlength = "", @class = "MNum", data_bind="value:{yourProperyNameHere}" })

 .OptionLabel("-Select-Flight ")

 .Filter(FilterType.Contains)


)

所以希望您能看到我所做的只是HtmlAttribute为您向控件添加一个新属性。您需要做的就是输入任何属性作为其值。


根据该值是复杂 ( object) 还是简单 ( string, int etc) 基本类型,您可能需要将该Primitive属性设置为true,以便仅将值字段(例如您分配的 id)绑定回网格的行模型。


查看完整回答
反对 回复 2023-09-09
  • 1 回答
  • 0 关注
  • 60 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信