Asp.net mvc 如何格式化Html.DropDownListFor中显示的日期?

Asp.net mvc 如何格式化Html.DropDownListFor中显示的日期?,asp.net-mvc,razor,Asp.net Mvc,Razor,我有一个目标: class Milk { public DateTime ExpirationDate {get;set;} ... } 在模型中的集合中: class GroceryModel { public IList<Milk> Milks {get;set;} public Milk SelectedMilk {get;set;} } 如何设置该下拉列表中显示的日期的格式?您可以尝试使用以下内容对属性进行注释: [DisplayForma

我有一个目标:

class Milk {
    public DateTime ExpirationDate {get;set;}
    ...
}
在模型中的集合中:

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

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

您可以尝试使用以下内容对属性进行注释:

[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
在控制器中:

model.SelectMilk将保存SelectListItems的列表

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

回顾这些问题,可能有助于:
        model.SelectMilk =
            Milks.Select(
                item =>
                new SelectListItem
                    {
                        Selected = false, 
                        Value = item.ExpirationDate , 
                        Text = datetime.ToShortDateString() //or whatever format you need
                    }).ToList();