0

リストがあります:

public List<MyModel> MyModels { get; set; }

Razor 構文を使用して、そのリスト内の 1 つのオブジェクトから 1 つの情報を表示するにはどうすればよいでしょうか?

私は次のようなことをしたい:

@Html.Display(MyModel.Select(o => o.objectId = selectedObjectVal).FirstOrDefault().TextThatNeedsDisplayed)

しかし、それはコンパイルされません。必要な情報を適切に表示するにはどうすればよいですか?

上記の更新されたコード (以下の回答から取得) を使用すると、次のエラーが発生します。が見つかりました (using ディレクティブまたはアセンブリ参照がありませんか?)。IntelliSense は、「Compare To」「Equals」「GetHashCode」などのオプションを提供しています。.


アップデート:

「TextThatNeedsDisplayed」の代わりに最後に .ToString()) を実行すると (そして @Html.Display から @Html.Raw に変更すると)、検索対象のデータが返されます。文字通り、「o. objectId = selectedObjectVal" . これがなぜなのかわかりません - MyModel 全体を文字列に変換しようとしているはずではありませんか? TextThatNeedsDisplayed はまだ表示されません。

4

1 に答える 1

2

モデルが(表示)モデルのリストであると仮定すると、さまざまな方法で1つのモデルのプロパティにアクセスできます。

リストがカミソリビューのモデルである場合:

@Html.DisplayFor(model => model[0].TextThatNeedsDisplayed)

または、リストから1つのオブジェクトを選択します。

@Html.Display(MyModel.First().TextThatNeedsDisplayed)

私があなたの質問を正しく理解したことを願っています。

于 2012-05-30T11:03:44.353 に答える