如何使用asp.net MVC的年份选择器

时间:2014-10-31 14:09:21

标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor

我有一个类似HolidayYear的字段,如下所示,

 [Required]
 [DisplayName(Constants.DisplayName.HolidayYear)]
 public virtual int HolidayYear { get; set; }

我必须在HolidayYear文本框中选择年份,不想使用日期选择器。那么我需要添加什么代码呢?有谁可以请帮助找到解决方案...... 我的cshtml文件正在关注

    <div class="row">
       <div class="col-md-3">
               <label for="" class="control-label">
                    Year
               </label>
                <br />
                @Html.EditorFor(model => model.HolidayYear, new { @class = "form-control"  
                                                 }).DisableIf(() => Model.IsReadOnly == true)
      </div>
    </div>

2 个答案:

答案 0 :(得分:2)

你应该制作一个下拉列表。因此,不要使用@Html.EditorFor使用:

@Html.DropDownListFor(m => m.HolidayYear, HolidayController.GetDropDownListForYears())

其中HolidayController.GetDropDownListForYears()是控制器上返回下拉列表的静态方法。它看起来像这样:

public static List<SelectListItem> GetDropDownListForYears()
{
    List<SelectListItem> ls = new List<SelectListItem>();

    for(int i=2014; i<=2099;i++)
    {
        ls.Add(new SelectListItem() { Text = i.ToString(), Value = i.ToString() });
    }

    return ls;
}

答案 1 :(得分:0)

您可以使用kendo控件。

@using Kendo.Mvc.UI;

@(Html.Kendo().DatePicker().Name("datepicker").HtmlAttributes(new { style = "width:110px" }))