我有一些来自我们CMS的新闻文章显示在一个网页上。当前页面使用这段代码显示过去3个月(基于发布日期)的文章。
rptNews.DataSource = NewsAndEventUtility.News.Where(n => n.DatePosted >= DateTime.Now.AddMonths(-3));
现在我想创建一个存档的新闻页面,只显示从一个特定的年份(2012),但我似乎不能得到正确的代码…
rptNews.DataSource = NewsAndEventUtility.News.Where(n => n.DatePosted = DateTime.Year.Equals(2012));
或
rptNews.DataSource = NewsAndEventUtility.News.Where(n => n.DatePosted = DateTime.Year(2012));
这两个都不行。我试图理解如何识别实例的年份,并将其与特定年份进行比较。也许这是不可能与DateTime或我只是认为它错了。
n.DatePosted
是哪种类型?如果它也有成员Year
,则可以使用:
rptNews.DataSource = NewsAndEventUtility.News.Where(n => n.DatePosted.Year == 2012);
试试:
.Where(n => n.DatePosted.Year == 2012);
此外,你的代码看起来不正确地使用=
而不是==
在哪里子句?
rptNews.DataSource = NewsAndEventUtility.News.Where(n => n.DatePosted = DateTime.Year.Equals(2012));
应该是:
rptNews.DataSource = NewsAndEventUtility.News.Where(n => n.DatePosted == DateTime.Year.Equals(2012));
----^