0

尝试整理一堆示例,但似乎无法完成这项工作......这让我相信我可能正在尝试不可能的事情!:)

在我看来,我有以下代码:

<fieldset>
    <legend>Map</legend>
    <table class="map">
        @for (var y = 0; y <= (int)ViewBag.Map.Height; y++)
        {
            <tr>
                @for (var x = 0; x <= (int)ViewBag.Map.Width; x++)
                {
                    <td>@ViewBag.Map.MapTiles.Where(z => z.X == x && z.Y == y)</td>
                }
            </tr>                
        }
    </table>
</fieldset>

地图是一个dynamic对象。

当我运行它时,我收到以下错误:

如果不首先将 lambda 表达式转换为委托或表达式树类型,则不能将 lambda 表达式用作动态分派操作的参数

有没有办法解决这个问题并保持我的 LINQ 查询简单?

4

1 回答 1

2

正如编译器所说,先转换

   <td>@((IEnumerable<MapTileOrWhat>)(ViewBag.Map.MapTiles)).Where(z => z.X == x && z.Y == y)</td>
于 2013-06-02T12:53:14.460 回答