微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在ASP.NET MVC中排序DateTime列

如何解决在ASP.NET MVC中排序DateTime列

我有一个ASP.NET MVC应用程序,在其中的表中有一列,该列显示MysqL数据库中的DateTime值。该列按字符串值而不是DateTime值排序。我需要将其显示为2020年8月14日,星期五,05:13 PM。

我可以使用

显示
[displayFormat(ApplyFormatInEditMode = true,DataFormatString = "{0:f}")]

我需要它按日期/时间排序。这是我的代码

DataView:

[displayFormat(ApplyFormatInEditMode = true,DataFormatString = "{0:f}")]                               
public System.DateTime JobDateTime { get; set; }

控制器:

public ActionResult Index()
{
    return View(db.jobs.OrderByDescending(x=>x.JobDateTime).ToList());
}

索引视图:

@Html.displayFor(modelItem => item.JobDateTime)`

我不知道如何对它进行排序并使它以长日期格式显示。我只能选一个

解决方法

在排序之前会应用/etc/services之类的声音。在这种情况下,您可能希望将其从属性定义中删除,并放入您的 Linq 查询中:

DisplayFormat

或者在Razor中进行最适合您的转换。

,

->count属性将位于ViewModel中(最有可能)。 让我们将其称为MassDateTime或调整名称,无论您使用什么名称。

然后,字段JobViewModel的类型应为MassDateTime,而不是string才能以字符串格式显示在视图上。

DateTime

无需在属性上提及属性。

现在public class JobViewModel { public string MassDateTime { get; set; } } 方法如下:

Index

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