1

User オブジェクトをモデルとして使用する部分テンプレートがあります。ユーザーはアカウントのコレクションを持っています。この部分テンプレートには、次のようなループがあります。_Account 部分テンプレートは Account クラスにバインドされています

  @foreach (var item in Model.Accounts)
            { 
                <tr>
                    <td colspan="6">
                        <div>
                            @Html.Partial("_Account", item)
                        </div>
                    </td>
                </tr>

            }

私のコントローラーメソッドでは、最初に試しました

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult UserDetails(User user, string actionType)

しかし、User.Accounts コレクションは空です。それから私はこれを試しました。Accounts コレクションはまだ空です。

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult UserDetails(User user,  
                             [Bind(Prefix="User.Accounts")]
                             FixupCollection<Account> Accounts, 
                             string actionType)

これを達成するためにデフォルトの Modelbinder 実装を使用できますか、それとも何か違うことをする必要がありますか?

4

2 に答える 2

0

部分ビューの代わりにエディター テンプレートを使用します。アカウントを追加および削除する場合でも、テンプレートがすべてのオブジェクトを自動的に正しくインデックス化するため、インデックスをハードコーディングする必要はありません。この質問に対する私の回答を参照してください。

複数の部分ビューから値を渡す

エディタ テンプレートについては、ここに少し書きます。

codenodes.wordpress.com - MVC3 エディター テンプレート

于 2012-09-07T13:33:36.803 に答える