如何格式化Html.DropDownListFor中出现的日期?

时间:2013-01-30 14:32:18

标签: asp.net-mvc razor

我有一个对象:

class Milk {
    public DateTime ExpirationDate {get;set;}
    ...
}

在模型的集合中:

class GroceryModel {
    public IList<Milk> Milks {get;set;}
    public Milk SelectedMilk {get;set;}
}

我正在使用Razor填充下拉列表:

@Html.DropDownListFor(m => m.ExpirationDate, Model.Milks, ...);

如何设置该下拉列表中显示的日期?

2 个答案:

答案 0 :(得分:3)

在您的控制器中:

model.SelectMilk将保存一个SelectListItems列表

        model.SelectMilk =
            Milks.Select(
                item =>
                new SelectListItem
                    {
                        Selected = false, 
                        Value = item.ExpirationDate , 
                        Text = datetime.ToShortDateString() //or whatever format you need
                    }).ToList();

答案 1 :(得分:0)

您可以尝试使用以下内容注释该属性:

[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]