我正在使用 MVC + EF
我有一个 Feed xml 文件 url,每 7 分钟更新一次项目,每次添加新项目时,我都会将所有项目检索到列表变量中,然后将这些变量添加到我的数据库表中。之后,我从数据库表中填充了一个新的列表变量,它是我的 ViewModel。然后我在我的视图中声明 ViewModel,它是一个 .cshtml 文件,并循环遍历所有对象并显示它们。
我怎样才能确保最新的项目放在顶部而不是底部,并且数字以正确的顺序显示?
这就是我在我的 cshtml 中显示项目的方式,注意我使用了 ++number,所以最新的项目需要是 1,依此类推::
@model Project.Viewmodel.ItemViewModel
@{
int number = 0;
}
<div id="news-container">
@foreach (var item in Model.NewsList.OrderByDescending(n => n.PubDate))
{
<div class="grid">
<div class="number">
<p class="number-data">@(++number)</p>
</div>
<p class="news-title">@(item.Title)</p>
<div class="item-content">
<div class="imgholder">
<img src="@item.Imageurl" />
<p class="news-description">
@(item.Description)
<br />@(item.PubDate) |
<a href="@item.link">Source</a>
</p>
</div>
</div>
</div>
}
</div>
这就是我如何填充我在 .cshtml 文件中使用的视图模型来迭代并显示项目
private void FillProductToModel(ItemViewModel model, News news)
{
var productViewModel = new NewsViewModel
{
Description = news.Description,
NewsId = news.Id,
Title = news.Title,
link = news.Link,
Imageurl = news.Image,
PubDate = news.Date,
};
model.NewsList.Add(productViewModel);
}
如果您检查此图像,那是它与数字一起显示的方式,那是不正确的。
如果你看到箭头应该是这样的,我怎么能做到这一点?
任何形式的帮助表示赞赏:)
注意:当我删除.OrderByDescending
时,每个网格上的数字都是正确的。但我需要.OrderByDescending
因为我想要最新添加的项目在顶部。