[解決済み] DisplayNameFor() From List<Object> in Model
2023-03-14 12:24:12
Question
I believe this is pretty simple, I just can't seem to find the right way to show the display name for an item within a list within my model.
My simplified model:
public class PersonViewModel
{
public long ID { get; set; }
private List<PersonNameViewModel> names = new List<PersonNameViewModel>();
[Display(Name = "Names")]
public List<PersonNameViewModel> Names { get { return names; } set { names = value; } }
}
and Names:
public class PersonNameViewModel
{
public long ID { get; set; }
[Display(Name = "Set Primary")]
public bool IsPrimary { get; set; }
[Display(Name = "Full Name")]
public string FullName { get; set; }
}
Now I'd like to make a table to show all the names for a person, and get the
DisplayNameFor
FullName
. Obviously,
@Html.DisplayNameFor(model => model.Names.FullName);
wouldn't work, and
@Html.DisplayNameFor(model => model.Names[0].FullName);
は、名前がない場合は壊れます。 ここで表示名を取得するための「最適な方法」はありますか?
どのように解決するのですか?
これは実際に、リストに項目がなくても動作します。
@Html.DisplayNameFor(model => model.Names[0].FullName)
これは、MVCが実際に式を実行するのではなく、式を解析しているからです。これにより、リストに要素がなくても、適切なプロパティと属性を見つけることができます。
注目すべきは、パラメータ (
model
上記) を使用する必要すらありません。これも動作します。
@Html.DisplayNameFor(dummy => Model.Names[0].FullName)
このように
@{ Namespace.Of.PersonNameViewModel dummyModel = null; }
@Html.DisplayNameFor(dummyParam => dummyModel.FullName)
関連
-
[解決済み] メンバー '<メンバー名>' にインスタンス参照でアクセスできない
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み】Unityでゲームオブジェクトのすべての子をループスルーして破壊する方法?
-
[解決済み] C#でenumからint値を取得する
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] クライアントから危険な可能性のあるRequest.Formの値が検出された
-
[解決済み] List<T>をオブジェクトのプロパティでソートする方法
-
[解決済み] リスト<T>をランダム化する
-
[解決済み] IList<string> または IEnumerable<string> からカンマ区切りリストを作成する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] 1つ以上のエンティティで検証に失敗しました。詳細は'EntityValidationErrors'プロパティを参照してください [重複]。
-
[解決済み] エンティティタイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み] ...基礎となる接続は閉じられました。予期しないエラーが受信で発生しました
-
[解決済み] [Solved] .NETでスレッドの終了を待つには?
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する
-
[解決済み】データが存在しないのに読み込もうとする試みが無効である
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。