【发布时间】:2016-04-09 09:49:26
【问题描述】:
我必须建立一个包含上课时间、星期几和课程的健身房时间表,所以我从数据库中得到的是:
时间 - 星期几 - 课程
08:00 - 1 - Natação
08:00 - 3 - Natação
08:30 - 1 - 柔术
09:00 - 1 - Natação
10:30 - 1 - 柔术
14:00 - 3 - Natação
我的模特:
public class Group<K, T>
{
public K Key;
public IEnumerable<T> Values;
}
public class Aulas
{
public int id { get; set; }
public int idDias { get; set; }
public DateTime AulaHora { get; set; }
public string AulaNome { get; set; }
}
我的控制器
public ActionResult Index()
{
Context _q = new Context();
var query = from x in _q.Aulas
group x by x.AulaHora into g
select new Group<DateTime, Aulas> { Key = g.Key, Values = g };
return View(query.ToList());
}
我的观点:
@using Grid.Models;
@model List<Group<DateTime, Aulas>>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<table class="table table-striped">
<thead><tr><th>Horários</th><th>Segunda</th><th>Terça</th><th>Quarta</th><th>Quinta</th><th>Sexta</th><th>Sábado</th></tr></thead>
@foreach (var item in Model)
{
<tr>
@foreach (var i in item.Values)
{
<td>@i.AulaHora.ToString("HH:mm")</td>
<td>@((i.idDias == 1) ? i.AulaNome.ToString() : "")</td>
<td>@((i.idDias == 2) ? i.AulaNome.ToString() : "")</td>
<td>@((i.idDias == 3) ? i.AulaNome.ToString() : "")</td>
<td>@((i.idDias == 4) ? i.AulaNome.ToString() : "")</td>
<td>@((i.idDias == 5) ? i.AulaNome.ToString() : "")</td>
<td>@((i.idDias == 6) ? i.AulaNome.ToString() : "")</td>
}
</tr>
}
</table>
很遗憾,我没有使用 KeyValuePair 的经验。如果有人能建议我需要做什么,我将不胜感激。
提前致谢。
【问题讨论】:
标签: c# asp.net-mvc keyvaluepair