2

あちこち探しましたが、答えが見つかりませんでした。IEnumerable からのデータを表示する webgrid があります。特にグリッドの目的でビュー モデルを作成したくないので、列を作成するときに関連するプロパティを使用します。そのようです:

grid.Column(format: @<text>
                    @item.User.FullName
                    </text>,
            header: "User"),

これは多対 1 の関係のためのもので、問題なく動作します。私は次のように多対多で同様のトリックを使用したかった:

grid.Column(format: @<text>
                    @item.Companies.FirstOrDefault().Title
                    </text>,
            header: "Company"),

しかし、それを言ってエラーが発生しました

System.Collections.Generic.List<ActivityLog.Domain.Entities.Company>' does not contain a definition for 'FirstOrDefault'

この値をソースとして webgrid で使用できる他の方法はありますか?

または、次のことを行う必要があります。

オプション 1) 他のプレゼンテーション ヘルパーを使用するか、代わりに foreach ループで html テーブルを作成します。

オプション 2) WebGrid に必要なすべてのプロパティに対応するビュー モデルを作成する

どちらがより適切だと思いますか?

4

1 に答える 1

0

追加したことを確認してください

@using System.Linq; 

cshtml ファイルの先頭にあります。

于 2013-02-28T05:51:35.103 に答える