我正在使用剑道网格和编辑器模板来显示我的数据。在编辑器中,我已将 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)绑定回网格的行模型。
- 1 回答
- 0 关注
- 81 浏览
添加回答
举报
0/150
提交
取消