我是C#MVC的新手。我想根据月份和年份显示图像及其内容或详细信息。我怎么做?现在,我正在显示所有内容。但我想显示以下内容:
我的图像位于另一个称为“照片”的表格中。和日期内容在称为“文章”的不同表中。
2018
7月
[图片] [Hello World]
6月
[图片] [你好,世界!!!世界,您好!
查看:
@model Magzine.Models.Article
<div class="row">
@if (Model.Image.Count > 0)
{
@foreach (var img in Photos)
{
<div class="col-md-2">
<img class="Img" src="=@Url.Content(img.img_url) " /></a>
</div>
}
}
<div class="col-md-10">
<strong>@Model.date</a></strong>
<strong>@Model.content</a></strong>
</div>
</div>
答案 0 :(得分:2)
这是一个主意。您的模型是文章列表。 因此,您需要按文章的年份和月份对列表进行分组。
Model.GroupBy(item => item.date.Month)
Foreach组,您应该通过以下方法打印月份名称及其关联的集合。
CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(group.Key)
但是我建议您在服务器中执行这些操作,并返回包含精炼数据的模型。在View上不进行任何操作计算,仅接受if
和for
。
查看:
@foreach (var groupYear in Model.GroupBy(item => item.data.Year).Select(group => new { Key = group.Key, Items = group.ToList() })
{{Key}}
@foreach (var groupMonth in Items.GroupBy(item => item.date.Month))
<span>{CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(groupMonth.Key)};
@foreach (var article in groupMonth )
{
<div class="row">
<div class="col-md-2">
<img class="Img" src="=@Url.Content(article.img_url)"/></a>
</div>
<div class="col-md-10">
<strong>@article.date</a></strong>
<strong>@article.content</a></strong>
</div>
</div>
}
}