2

私のモデルには、そのプロパティの 1 つとして、オブジェクトのリストがあります。ビューで webgrid を使用します。現在、私のビュー モデルはオブジェクトのリストを文字列に変換し、webgrid 列にその文字列を表示しています。webgrid 列にリストを表示する方法の例をインターネットで検索しましたが、何も見つかりませんでした。WebGrid 列内で WebGrid を使用する方法を説明しているブログを見つけましたが、それはまさに私がやろうとしていたことではありません。これを試してみましたが、エラーが発生します (ラムダから System.Func に変換できません。

format: @<text>@foreach (var p in item.PhoneList) { p.PhoneNumber; }</text>

どんな助けでも大歓迎です。

4

2 に答える 2

1

私はこれを自分で行う方法を理解しました。簡単な回答:HTMLヘルパーが必要です。ここにあなた自身を作ることに関するかなり良い参考文献があります

基本的に、次のことを行う必要があります。

  1. Helpers/MyHelper.csファイルを作成します
  2. MyHelperクラスを静的にする
  3. 次のシグネチャを使用して、MyHelperクラスに新しい関数を作成します。 public static MvcHtmlString MyFunction(this HtmlHelper helper, [input type] myInput)

次に、適切な参照を追加します。次のように、ヘルパーをインラインで呼び出します。

..。

MyWebGrid.Column(format: @<text>@Html.MyFunction(@item.[ListToExtract] as List<[ListTypeToExtract>)</text>, header:...

..。

于 2013-03-01T14:47:31.683 に答える
0

もう 1 つの方法は、ビューでヘルパー関数を使用することです。

@helper WriteItems(List<string> myList)
{
    foreach (var myItem in myList)
    {
       <span>@myItem</span>
    }
}

次に、webgrid 列から呼び出します。

format: item => (WriteItems(item.Labels)
于 2016-05-13T08:00:12.930 に答える