我有一个供稿表
Id Message Created
1 aaa 2016-02-25 12:18:51
2 bbb 2016-02-24 12:18:51
3 ccc 2015-02-25 12:18:51
我可以获得像这样的所有值
public ActionResult Index()
{
using (var db = new ApplicationDbContext())
{
var feeds = db.Feeds.ToList();
return View(feeds);
}
}
我创建了一个类,可以将日期从datetime更改为例如" 1天前"。这很好用
var myTime = DateExtension.TimeAgo(DateTime.Parse("2016-02-25 12:18:51"));
我希望在返回视图之前,在feed
的帮助下修改DateExtension.TimeAgo
中的所有日期。我怎么能这样做?
答案 0 :(得分:1)
试试这个:
return View(
feeds.Select(x=>
new Feed{
Id=x.Id,
Message=x.Message,
Created=DateExtension.TimeAgo(DateTime.Parse(x.Created))
}).toList());
在哪里为您的班级提供相同的字段
答案 1 :(得分:0)
在视图中使用FeedDisplayModel类
public class Class1TestController
{
public ActionResult Index()
{
using (var db = new ApplicationDbContext())
{
var feeds = db.Feeds.Select(itm=>new FeedDisplayModel(itm)).ToList();
return View(feeds);
}
}
}
class Feed
{
public DateTime Created { get; set; }
public int Id { get; set;}
public string Message { get; set;}
}
class FeedDisplayModel : Feed
{
public string Ago { get { return Created.TimeAgo(); } }
public FeedDisplayModel(Feed itm){
this.Created=itm.Created;
this.Id=itm.Id;
this.Message=itm.Message;
}
}
public static class DateExtension
{
public static string TimeAgo(this DateTime dt)
{
return "your implementation of ";
}
}