我正在使用 MVC 3 和 C#,在下拉列表中显示日期时遇到问题。
日期显示如下:2011年4月21日 12:00:00上午,但我只想这样格式化它们:2011年4月21日,这正是我数据库中的格式。
数据库中的日期属性是日期而不是日期时间。
模型中的代码:
[DisplayFormat(DataFormatString = "{mm/dd/yyyy}", ApplyFormatInEditMode=false)]
public DateTime? booksDate { get; set; }
控制器看起来像这样:
var booksDates = from dates in db.Books
orderby dates.booksDate
select new { dates.booksDate};
ViewBag.Dates = BooksDates.Distinct();
最后是我认为的代码:
<td>Books dates</td>
<td>@Html.DropDownList("booksDate", new SelectList(ViewBag.Dates as System.Collections.IEnumerable, "booksDate", "booksDate"), "Select a date") </td>
我哪里错了?
Thanks
您可以尝试使用常规 html 下拉列表并手动设置 html 值。我确信有更好的方法,虽然可能很脏,但它可以完成工作。
控制器:
ViewBag.Dates = BooksDates.Distinct();
View:
<select>
@foreach (var date in ViewBag.Dates)
{
<option>
@Convert.ToDateTime(date.StartDate).ToShortDateString()
</option>
}
</select>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)