我正在更新应用程序以使用 Kendo UI,并且遇到了使用 DropDownList 绑定到 Enum 的问题。我遇到的两个问题是 1)该值不包含 Enum 值,而是包含“Today”(应该为 0),以及 2)显示值始终是“Last10Days”而不是描述中的“Last 10 Days”标签。我查看并找不到有人使用 Kendo UI 将描述显示为文本并包含数值而不是文本的另一个地方。任何帮助表示赞赏。
看法
<div class="span6">
@Html.LabelFor(m=> m.DateRanges)
@(Html.Kendo().DropDownListFor(m => m.DateRanges)
.BindTo(Enum.GetNames(typeof(SearchDateRanges)).ToList())
.HtmlAttributes(new { value = "Today" })
.DataTextField("Text")
.Events(e => e.Change("DateChange")))
</div>
<div class="span6">
@Html.LabelFor(m => m.Status)
@(Html.Kendo().DropDownListFor(m=> m.Status)
.BindTo(Enum.GetNames(typeof(SearchStatusCriteria)).ToList())
.HtmlAttributes(new {value = "All"}))
</div>
模型
public enum SearchDateRanges
{
[Description("Today")]
Today = 0,
[Description("Last 10 Days")]
Last10Days = 1,
/// <summary>
/// The last 30 days.
/// </summary>
[Description("Last 30 Days")]
Last30Days = 2,
[Description("Last 60 Days")]
Last60Days = 3,
[Description("Last 90 Days")]
Last90Days = 4,
[Description("Custom Date Range")]
CustomRange = 5
}
}