在MVC 3 C#中将datetime更改为date

如何解决在MVC 3 C#中将datetime更改为date

| 我正在将MVC 3与C#一起使用,并且在下拉列表中显示日期时遇到问题。 日期显示如下:4/21/2011 12:00:00 AM,但我只想以这种方式设置它们的格式:4/21/2011,这正是我数据库中的格式。 数据库中的date属性是date,而不是datetime。 模型中的代码
[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>
我哪里错了? 谢谢     

解决方法

您可以尝试使用常规的html下拉菜单并手动设置html值。我敢肯定有更好的方法,它可能很脏,但是可以完成工作。 控制器:
ViewBag.Dates = BooksDates.Distinct();
视图:
<select>
@foreach (var date in ViewBag.Dates)
{
    <option>
       @Convert.ToDateTime(date.StartDate).ToShortDateString()
    </option>

}
</select>
    ,如果我还没完全离开,
DataFormatString
应该看起来像这样:
DataFormatString = \"{0:MM/dd/yyyy}\"
或更简单的使用短日期格式:
DataFormatString=\"{0:d}\"
    ,您可以扩展辅助程序类来执行此任务。
public static class FormatHelper
{
    public static IHtmlString ToDate( this HtmlHelper helper,DateTime datetime )
    {
        return new HtmlString( datetime.ToShortDateString() );
    }
}
鉴于:
@Html.ToDate( Model.Date )
不要忘记导入名称空间进行查看。     ,就像  在控制器中:
ViewBag.Date = Convert.ToDateTime(SelectedDate);
鉴于
@Convert.ToDateTime(ViewData[\"Date\"].ToString()).ToShortDateString()
输出像:   2017/03/02     ,您可以通过在纯c#上执行以下操作:
string date = Convert.ToDateTime(date).ToShortDateString();
    ,如果您使用的是sql,则可以采用以下方式:
select field1,convert(nvarchar(10),field2,101) 
从表 //无论 让我解释一下这是怎么回事: -field2是包含日期的字段。 -nvarchar(10)是您要查看的类型。这并不是很重要,因为它是您要接收的类型(转换的结果)。就像它是一个选择一样,您不必关心此处的数据类型。它仅用于显示数据。数字10是您要获取的字符串的长度。 -field2: 您要转换的字段(日期和小时) 101:这是风格 这告诉field2必须仅打印月/日/年。 有很多样式,您应该用谷歌搜索! 我希望它能起作用。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?