如何获得我刚才提到的输出? [英] How can I get the output I just mentioned below?
本文介绍了如何获得我刚才提到的输出?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这个for循环在每个单独的活动前打印一个月。
例如: - 1月
活动1。
1月
Event2
January
Event3
March
Event4
March
Event5
我希望输出一个月打印当月发生的所有事件。
例如: - 1月
活动1
活动2
活动3
三月
活动1
活动2
我的尝试:
@foreach(模型中的var项目)
{
@ item.EventDate.ToString(MMMMMMMMMMMMMMMMM)
@ Html.ActionLink(item.EventDate.ToShortDateString(),TrackAttendance,new {id = item.ScheduledEventId})
}
This for loop prints month before every individual event.
Eg:- January
Event1.
January
Event2
January
Event3
March
Event4
March
Event5
I want output like a month prints all events happening in that month.
Eg:- January
Event1
Event2
Event3
March
Event1
Event2
What I have tried:
@foreach (var item in Model)
{
@item.EventDate.ToString("MMMMMMMMMMMMMMMMM")
@Html.ActionLink(item.EventDate.ToShortDateString(), "TrackAttendance", new { id = item.ScheduledEventId })
}
推荐答案
class ModelItem
{
public DateTime EventDate;
public int ScheduledEventId;
public ModelItem(DateTime date, int id)
{
EventDate = date;
ScheduledEventId = id;
}
}
public string GetEventStr()
{
List<ModelItem> Model = new List<ModelItem>();
Model.Add(new ModelItem(new DateTime(2016, 1, 1), 1));
Model.Add(new ModelItem(new DateTime(2016, 1, 2), 2));
Model.Add(new ModelItem(new DateTime(2016, 1, 3), 3));
Model.Add(new ModelItem(new DateTime(2016, 3, 1), 1));
Model.Add(new ModelItem(new DateTime(2016, 3, 2), 2));
StringBuilder sb = new StringBuilder();
int currentMonth = 0;
bool isFirst = true;
foreach (var item in Model)
{
if (item.EventDate.Month != currentMonth)
{
if (isFirst)
isFirst = false;
else
sb.AppendLine("<br />");
sb.AppendLine(item.EventDate.ToString("MMMM") + "<br />");
currentMonth = item.EventDate.Month;
}
sb.AppendLine("Event" + item.ScheduledEventId + "<br />");
}
return sb.ToString();
}
这篇关于如何获得我刚才提到的输出?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文