アイテムの配列 (いくつかあるかもしれません) で呼び出す EditorFor テンプレートがあり、インデックスを (ループではなく) 個別に参照するので、それらを特定の方法でレイアウトできます。
@Html.EditorFor(x => Model.SomeViewModels[0], "SomeTemplate")
すべて正常に動作しますが、理想的には、より優れたインデクサーで配列を参照したい
@Html.EditorFor(x => Model.SomeViewModels["検索する項目"], "SomeTemplate")
読みやすさと、インデックスが変更された場合に対処するための柔軟性のために、モデルにカスタムインデクサーを設定できるかどうか疑問に思っていました-このように
public ObjecToReturn this[string TextToFind]
{
get
{
return ObjectToReturn based on TextToFind
}
}
それは機能します-値を正しく取得しますが、Htmlを見ると、入力フィールドにはすべて名前が付けname=[Item to Find].AnswerValue
られているため、理由がわかりますが、投稿が台無しになります
巧妙な人がModel.SomeViewModels["Item to Find"]
EditorFor に送信する方法を考え出したのだろうかと思いましたが、テンプレートの基になる Html が反映Model.SomeViewModels[0]
されているため (0 は配列内の「検索項目」のインデックスです)、Postback は機能します
または、これは間違ったアプローチかもしれません-何か簡単なものが欠けていることを願っています。
前もって感謝します