2

私は次のようなモデルを持っています:

class Model
{
    public String Text { get; set; }
    public AnotherType[] Values { get; set; }
}

そして、IEnumerable<Model>Razor と asp.net MVC 4 を使用して WebGrid に表示しているビューを受け取ります。

これまでのところ、私は持っています:

@{ var grid = new WebGrid(Model); }
<div id="grid">
      @grid.GetHtml(
          columns: 
              grid.Columns(
                  grid.Column("Text")))
</div>

私が望むのはValues、2 番目の列のモデルの値に基づいて、カンマ区切りのリンク リストのリストを作成することです。

それらをActionLinksに投影するLinqクエリを作成しようとしました(またはString Arrayを使用してString.Join()を使用してテストしました)が、実行時にコンパイルされません。

例えば:

grid.Column("Values",
    format: (item) => String.Join(item.Select(v => v.Property).ToArray()))))

私が得るエラーは(私は思う)です:

エラー CS1977: 最初にデリゲートまたは式ツリー型にキャストしないと、ラムダ式を動的にディスパッチされた操作の引数として使用できません

出力を次のようにしたいと思います。

|--------------------------------|
|**テキスト** | **値** |
|--------------------------------|
|テキスト A | ヴァル 1、ヴァル 2、ヴァル 3 |
|--------------------------------|

Val n詳細を表示するために移動できるリンクはどこにありますか。

これを行う方法を知っている人はいますか?

回避策として、モデル内の値を結合Stringし、結果でプロパティを公開しましたが、これでは s を作成できませんActionLink

4

1 に答える 1