剑道下拉结合
问题描述:
我有这样的枚举:剑道下拉结合
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--” 如何将下拉列表中的选定值绑定到枚举值?
UPDATE:
而且我已经试过EnumHelper.GetSelectList(typeof(Erp.Shared.Contract.PayTerms), Model.Value)
也没有运气
答
剑道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 --"))