在asp.net mvc4中通过查询打印linq组
本文关键字:查询 打印 linq asp net mvc4 | 更新日期: 2023-09-27 18:12:46
在执行以下查询
后,我在尝试打印linq查询时遇到问题var cargaDatos = (from rs in DB.C_gestcobcanalvendsem
group rs by new { rs.semana } into s
orderby s.Key
select new
{
Semana = s.Key,
TotalDeuda = s.Sum(x => x.Credito)
}
).ToList();
return View(cargaDatos);
我尝试用推荐的方式打印
<% foreach (var item in Model) { %>
<tr>
<td>
<%: Html.DisplayFor(modelItem => item.Semana) %>
</td>
<% } %>
或类似的表格,但我找不到打印它的表格。(可能我做错了什么,但找不到正确的方法来操纵linq查询whit 'group by clause')。
对
您需要创建一个ViewModel,如:
//Call it whatever you want
public class ViewModel
{
// use whatever types Key and TotalDeuda are
public int Semana { get; set; }
public double TotalDeuda { get; set; }
}
然后你可以在你的linq查询中使用它来创建一个强类型列表:
// Rest of linq as in your question
select new ViewModel {
Semana = s.Key,
TotalDeuda = s.Sum(x => x.Credito)
}).ToList();
然后在你的视图的顶部,你需要放一个@model或inherits声明来定义模型为强类型,设置为IEnumberable<ViewModel>
-或任何你称之为类。
然后你可以在你的循环中显示两个属性:
<%foreach (var item in Model)
{ %>
<tr><td><%=item.Semana%></td>
<td><%=item.TotalDeuda%></td></tr>
<%} %>
如果你能了解到这一点,使用Razor语法也会更容易。