[英]print a linq group by query in asp.net mvc4
進行以下查詢后,嘗試打印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查詢“ group by子句”)。
問候
您需要創建一個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();
然后,在View的頂部,您需要放置@model或繼承聲明以將模型定義為強類型,設置為IEnumberable<ViewModel>
-或您所謂的類。
然后,您可以使用以下代碼在循環中顯示兩個屬性:
<%foreach (var item in Model)
{ %>
<tr><td><%=item.Semana%></td>
<td><%=item.TotalDeuda%></td></tr>
<%} %>
此外,如果您可以查看,則使用Razor語法會更容易。 有關更多信息,請參見此處的文章。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.