多くのグーグル、スタックオーバーフロー(?)、およびブログを読んだ後、私はまだ問題を完全に解決できません。願わくば、この専門家コミュニティが助けに来てくれることを願っています!
与えられたもの: フィールド ICollection を持つ Company クラス (Company は多くのアドレスを持つことができます)。各住所にはいくつかの単純な文字列フィールドがあります。
短縮版:
ユーザーが会社に任意の数のアドレスを追加できるようにしたい。最初に 1 セットの Address テキストボックスを表示し、次に [Add one more address] ボタンを表示します。Javascript は問題ではなく、mvc の部分です。不明な場合、機能は次のようになります: http://www.mdelrosso.com/sheepit/index.php?lng=en_GB&sec=demo3
MVC EditorForModel() 関数を使用する必要があります。つまり、すべての構成をエディター テンプレートに入れる必要があります。
これまでのステータス:
- 会社の編集ページ (CompanyViewModel) の ViewModel を作成しました。
- フィールド public ICollection Addresses { get; に [UIHint("Addresses")] を追加しました。設定; }
- 作成された住所 EditorTemplate
Addresses EditorTemplate では、新しい会社を追加するときに、渡されるモデルは Null です (驚くことではありません)。追加アドレス用のエディタを作成するにはどうすればよいですか? 私は(Razorを使用して)の複数の化身を試しました:
@Html.EditorFor(m => new Address());
しかし、リモートで作業しても何も生産できません。(上記の正確な行では、「テンプレートは、フィールド アクセス、プロパティ アクセス、単一次元配列インデックス、または単一パラメーターのカスタム インデクサー式でのみ使用できます。」というエラーが表示されます。)
ご指摘ありがとうございます。
/ビクター