我正在使用Razor将IEnumerable对象绑定到Kendo ComboBox,但在填充正确的DataTextField值时遇到一些麻烦。
模型
public class LanguageInformation
{
public Languages Language { get; set; }
public int LanguageId { get; set; }
}
语言枚举
public enum Languages
{
English = 1,
Spanish = 2,
French = 3,
German = 4
}
剃刀
@(Html.Kendo().ComboBox()
.Name("Language")
.DataTextField("Language")
.DataValueField("LanguageId")
)
(注意:数据源已定义且返回数据很好,上面没有包含它)
我遇到的问题是DataTextField。我想要语言的名称枚举,但我不知道如何返回它。
我尝试了一些不同的东西,比如
.DataTextField(Enum.GetName(typeof(Languages), "Language"))
但结果是
传入的值必须是枚举基础
错误
那么,如何将枚举值的名称作为DataTextField返回?
答案 0 :(得分:0)
Kendo传统上不会绑定到枚举,而是绑定到列表。 您可以使用以下代码从Enum中创建一个列表。
@(Html.Kendo().ComboBox()
.Name("Language")
.BindTo(Enum.GetNames(typeof(Languages)).ToList()
)