【问题标题】:Asp.Net MVC 5 Date formatAsp.Net MVC 5 日期格式
【发布时间】:2016-03-26 19:59:46
【问题描述】:

我只是想在我的 MVC 应用程序中返回日期并且遇到了问题。我已经申请了我的模型DataFormatString = "{0:dd/M/yy}",并且还包括ApplyFormatInEditMode = true,正如这些帖子ASP.NET MVC displaying date without timeDisplaying Date only MVC所建议的那样

然而,我正在生成该字段以将接下来 5 周的开始日期包含在下拉列表中,如下所示 http://prntscr.com/ak825u

这是通过以下代码完成的

  // GET: TimeSheets/Create
    public ActionResult Create()
    {

        int weekCount = 5;
        List<DateTime> listDates = new List<DateTime>();

        for (int i = 0; i < (weekCount * 7); ++i) //Get next 5 weeks
        {
            //Adds only next 5 mondays to the list of dates
            if (DateTime.Today.AddDays(i).DayOfWeek == DayOfWeek.Monday)
                listDates.Add(DateTime.Today.AddDays(i));
        }

        ViewData["DateList"] = new SelectList(listDates);

        return View();
    }

我将如何删除时间以仅显示日期

【问题讨论】:

  • 这取决于您使用的是哪种网络控件。 .NET 没有问题,但渲染是浏览器的责任。或者,您可以填充字符串列表而不是 DateTime。

标签: c# asp.net asp.net-mvc asp.net-mvc-4


【解决方案1】:

你需要在SelectList中设置textvalue

ViewData["DateList"] = new SelectList(listDates.Select(c => new SelectListItem() { Text = c.ToString("dd/mm/yy"), Value = c }));

在你看来:

@Html.DropDownListFor(m => m.SelectedDate, (SelectList)ViewData["DateList"], "Select a date")

SelectedDate 是模型中的 DateTime 属性。

【讨论】:

  • dd/m/yy 有效吗?不应该是dd/mm/yy吗?
  • 是的,你是对的,删除时间部分应该是'dd/mm/yy'。我编辑了答案。
【解决方案2】:

Esiprogrammer 的回答会很好,如果您想解析日期,这将是另一种选择。将该属性放在模型上不起作用,因为您没有使用模型来显示日期,而是使用 viewdata 来显示日期。

在添加日期并在 if 条件内添加以下内容:listDates[i] = ParseDate(DateTime.Today.ToString(), "MM/dd/yy");

Display only Date in @Html.DisplayFor() in MVC某处添加此线程中的最佳答案助手类

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多