Kendo UI を使用するようにアプリケーションを更新しようとしていますが、DropDownList を使用して Enum にバインドする際に問題が発生しました。私が抱えている 2 つの問題は、1) 値に Enum 値が含まれておらず、代わりに "Today" が含まれていること (0 である必要があります)、および 2) 表示値が説明の "Last 10 Days" ではなく常に "Last10Days" であることです。鬼ごっこ。誰かが 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
}
}