c# - 在 MVC 3 C# 中将日期时间更改为日期

标签 c# asp.net-mvc

我在 C# 中使用 MVC 3,在下拉列表中显示日期时遇到问题。 日期显示如下:4/21/2011 12:00:00 AM,但我只想将它们格式化为:4/21/2011,这是正是我数据库中的格式。

数据库中的日期属性是日期而不是日期时间。

模型中的代码:

[DisplayFormat(DataFormatString = "{mm/dd/yyyy}", ApplyFormatInEditMode=false)]
public DateTime? booksDate { get; set; }

Controller 看起来像这样:

 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>

我哪里错了?

谢谢

最佳答案

您可以尝试使用常规的 html 下拉菜单并手动设置 html 值。我确信有更好的方法,虽然它可能很脏,但它可以完成工作。

Controller :

ViewBag.Dates = BooksDates.Distinct();

查看:

<select>
@foreach (var date in ViewBag.Dates)
{
    <option>
       @Convert.ToDateTime(date.StartDate).ToShortDateString()
    </option>

}
</select>

关于c# - 在 MVC 3 C# 中将日期时间更改为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5669109/

相关文章:

c# - 鼠标双击仅在右键单击时触发

c# - 使用泛型转换为基类

c# - 通用包装器和 isAssignableFrom 不起作用

c# - 从 C# 中的 JsonResult 中删除一个元素

asp.net - 我们可以记录 Bundle 错误吗?

html - 在 MVC View 中呈现富文本?

c# - 如何在 C# 中中止套接字

asp.net-mvc - 区域内的 Asp.Net MVC IgnoreRoute

asp.net-mvc - 如何呈现带有图像的 Action 链接?

c# - 为什么使用只读IEnumerable <T>