剑道下拉绑定

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 --"))

【讨论】:

以上是关于剑道下拉绑定的主要内容,如果未能解决你的问题,请参考以下文章

剑道下拉的默认值未设置为角度

我如何从 mvc 的剑道 ui 网格的下拉列表中获取选定的值

根据下拉更改绑定/重新绑定 Kendo Grid

将敲除中的下拉菜单绑定到对象

剑道下拉列表占位符

设置剑道 ui 下拉列表宽度