剑道下拉绑定
Posted
技术标签:
【中文标题】剑道下拉绑定【英文标题】:Kendo dropdown binding 【发布时间】:2017-02-06 07:49:00 【问题描述】:我有这个枚举:
public enum PayTerms
[Display(Name = "30")]
_30 = 1,
[Display(Name = "60")]
_60,
[Display(Name = "90")]
_90,
[Display(Name = "120")]
_120,
CAD
使用此模板,我设法创建了具有正确名称的下拉列表:
@model PayTerms?
<div class="k-edit-label">@html.LabelFor(x => x)</div>
<div class="k-edit-field">
@(Html.Kendo().DropDownListFor(m => m)
.BindTo(EnumHelper.GetSelectList(typeof(PayTerms)))
.OptionLabel("-- Select --"))
</div>
但是我遇到了绑定问题。目前对于我的枚举属性的每个值,下拉列表中的选定值是“--Select--” 如何将下拉列表的选定值绑定到枚举值?
更新:
我也试过EnumHelper.GetSelectList(typeof(Erp.Shared.Contract.PayTerms), Model.Value)
但也没有运气
【问题讨论】:
【参考方案1】:Kendo MVC 助手在枚举方面存在问题,因为它无法确定是绑定到枚举的整数表示还是字符串表示。默认的MVC下拉列表没有这个问题。
http://www.telerik.com/forums/problem-binding-enum-to-dropdownlist#ZabuB0_2A0OserEwBh_etQ
尝试在定义中添加显式 .Value():
@(Html.Kendo().DropDownListFor(m => m)
.BindTo(EnumHelper.GetSelectList(typeof(PayTerms)))
.Value(((int) Model).ToString())
.OptionLabel("-- Select --"))
【讨论】:
以上是关于剑道下拉绑定的主要内容,如果未能解决你的问题,请参考以下文章