在MVC Razor视图中按月分组

蓝鸟

我有一个mvc剃刀视图,其模型如下填充:

public class HomeController : Controller
    {

        private IDataSource _db;

        public HomeController (IDataSource db)
        {
            _db = db;
        }


        public ActionResult Events()
        {
            var allevents = _db.Events;
            ViewBag.Title = "Events";
            return View(allevents);
        }


    }

事件模型如下所示:

 public class Event
    {
        public virtual int Id { get; set; }
        public virtual string Title { get; set; }
        public virtual string Description { get; set; }
        public virtual Location Location {get;set;}
        public virtual DateTime StartDate {get;set;}
        public virtual DateTime EndDate { get; set; }
    }

我想在我的视图中显示项目,以便按月份名称分组。例如:

十月

EventA标题,EventA描述等

EventB标题,EventA描述等

十一月

EventC标题,EventC描述等

如果可能的话,您可以进一步按年份细分,然后按月发布,但这并不是完全必要的,因为我看不到会提前一年输入事件的情况。

我已经在剃须刀视图中尝试过此操作,但似乎略有偏离...

@{var monthList = from e in Model
group e by e.StartDate.Month into g
orderby g.Key
select g;

foreach(var monthGroup in monthList)
{

    string month = monthGroup.Key.ToString();
<h2 class="h4 pi-weight-700 pi-uppercase pi-has-bg pi-margin-bottom-25">
    @month
</h2>
    foreach (Model e in monthGroup)
    {
        // do something with the events
    }
}}
拉什利普

假设开始日期和结束日期在同一个月,我将执行以下操作(在控制器中):

var groupedEvents = _db.Events.ToList().GroupBy(k => new DateTime(k.StartDate.Year, k.StartDate.Month, 1)).OrderBy(k => k.Key).ToDictionary(k => k.Key, v => v.ToList());
return View(groupedEvents);

然后在视图中浏览字典。您可以通过以下方式获取月份名称:

@model IDictionary<DateTime, List<Event>>
@foreach(var item in Model)
{
     //Display month name
     <h1>@item.Key.ToString("MMM", CultureInfo.InvariantCulture);</h1>
     foreach(var ev in item.Value)
     {
         //Row specific code
     }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在MVC Razor视图中按月分组

来自分类Dev

在MVC Razor视图中的LINQ

来自分类Dev

MVC Razor视图中的AJAX调用

来自分类Dev

按月分组列表

来自分类Dev

Oracle:按月分组

来自分类Dev

在MVC视图中使用Razor遍历模型属性

来自分类Dev

Kendo UI MVC-Razor视图中没有Intellisense

来自分类Dev

在ASP.NET MVC的RAZOR视图中呈现JSON

来自分类Dev

在MVC 5 Razor视图中调用JavaScript函数

来自分类Dev

在MVC Razor视图中不呈现换行符

来自分类Dev

如何在MVC Razor视图中进行AJAX调用?

来自分类Dev

使用MVC Razor @foreach在视图中显示多个剑道网格

来自分类Dev

选定的选项在 MVC Razor 视图中不起作用

来自分类Dev

如何在 MVC 视图中的 Razor Condition 中编写 HTML。?

来自分类Dev

在MVC4视图中按类别对订单分组

来自分类Dev

视图中的MVC If语句

来自分类Dev

在DATETIME字段按月分组

来自分类Dev

Rails 4:按月分组

来自分类Dev

MongoDB-按月分组

来自分类Dev

在DATETIME字段按月分组

来自分类Dev

SQL按月分组并加入

来自分类Dev

T sql按月分组

来自分类Dev

C# 按月分组

来自分类Dev

ASP.NET MVC - 在 MVC4 Razor 视图中使用 RadioButtonFor

来自分类Dev

如何在MVC Razor视图中隐藏但仍渲染例如局部视图?

来自分类Dev

MVC Razor视图-货币格式

来自分类Dev

在MVC视图中删除评论

来自分类Dev

MVC视图中的条件语句

来自分类Dev

在MVC视图中删除评论