簡體   English   中英

在asp.net mvc4中通過查詢打印linq組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM