我有一个表结构,如
1)标识 2)日期 3)评分
按日期过滤,我可以显示行数(显示字段:分数)。
并在一个页面上显示3个日期的记录(3个结果日期,存储在表格中)。
格式应该像......
日期1日期2日期3
得分分数
得分分数
得分分数
...... ......
我应该使用现有的Model Classes创建自己的模型吗?
我不知道你会想到什么,但在这种情况下,用户控制能帮助我吗?
请帮助我......
公共需求更新
使用
<% foreach (var item in Model) { %>
<% } %>
我可以在索引视图中轻松显示每条记录。
上面的结构怎么样?
如果你没有那么......
记录:
1 21/2/2009 29
2 21/2/2009 50
3 21/2/2009 54
2 21/2/2009 77
2 23/2/2009 55
2 23/2/2009 44
2 23/2/2009 66
2 24/2/2009 53
显示
21/2/2009 | 23/2/2009 | 24/2/2009
29 | 55 | 53
50 | 44 |
54 | 66 |
77 |
答案 0 :(得分:1)
我已经在脑海中发布了这个 - 所以可能会出现拼写错误。
首先,您需要一个自定义模型:
public class ScoreColumnViewModel {
public DateTime Date;
public List<int> Score;
}
在你的Controller中创建一个ScoreColumnViewModel列表(假设Linq-To-Sql):
var dates = /* dates to select */
var scoreColumns = dates.Select(date =>
new ScoreColumnViewModel {
Date = date;
Score = DB.Scores.Where(x => x.Date == date).
Select(x => x.Score).ToList();
}
).ToList();
在您的视图中:
<% foreach(var column in Model) { %>
<table>
<tr><th><%= column.Date %></th></tr>
<% foreach(var score in column.Scores) { %>
<tr><td>score</td></tr>
<% } %>
</table>
<% } %>
在你的css中:
table {
float: left;
}
我的解决方案并不理想,但它可能是您的起点。