如何从多个分组数据视图包中获取密钥?

问题描述 投票:0回答:3

Controller

我有按2个字段分组的数据

lst = db.Database.SqlQuery<GridReportViewModel>(sqlquery).ToList();
Viewbag.DataGrid = lst.GroupBy(x => new { x.PosisiJabatanId, x.AplikasiId });

查看

如何从分组数据中获取密钥

@{int i = 1;}
@foreach (var item in @ViewBag.DataGrid)
{
    @:<tr>
        <td>@i</td>
        @*<td>@item.Key.PosisiJabatanId</td>*@ @*ERROR*@
        foreach (GridReportViewModel item2 in @item)
        {
            <td>@item2.NilaiKolom</td>
        }
        i = i + 1;
    @:</tr>
}

错误:“对象”不包含“键”的定义

调试项:enter image description here

c# asp.net-mvc razor lambda viewbag
3个回答
0
投票

您用匿名类型值填充了ViewBag,并且无法将其强制转换为View,因此应更改此行


0
投票

您需要使用属性获取数据。使用new时,它将返回匿名对象,因此您需要使用动态对象。一旦获得了动态对象key的值,就需要使用动态对象val


0
投票

如下添加您的查询中的选择

© www.soinside.com 2019 - 2024. All rights reserved.