0

こんにちは、同じモデルを使用して表示、編集、作成するビューが 2 つ以上あるソリューションに取り組んでいます。

すべてのビューでほとんどのビューを再利用できると思ったので、部分ビューを調べました。

今私の問題は、親ビューで複数の部分ビューを組み合わせており、すべての部分ビューから親へのポストバックデータを確実に取得して、基になるビューを送信または変更できるようにすることです。モデル。

これは私がパーシャルを呼び出す方法です:

@using (@Html.BeginForm())
{
     @Html.Partial("Person",Model.PersonDetails)
     @Html.Partial("Employment", Model)

     @Html.Action("Save", "Employee")
     @Html.Action("Create", "Employee")
     @Html.Action("Cancel", "Employee")
}

現在、個々のパーシャルには多くのエディター、ドロップダウン リスト、ラベルなどがあります。私の質問は、これが再利用する正しい方法ですか、それとも、再利用するのが難しいか不可能である可能性があることを読んで聞いたので、より良い安全な方法はありますか?

編集:いくつかの無関係な問題のために、私はもう少し作業を進めてきました。アクションを次のような入力に変更しました:

  <input type="submit" value="Gem" name="submitType" />
<input type="button" value="Anullere" onclick="location.href='@Url.Action("Cancel", "Employee")'" />
<input type="submit" value="Send" name="submitType" />

編集:送信ボタンが投稿データとしてデータを送信しないことに最後に気づいたので、別の変更を追加したので、送信ボタンに変更しました。両方の送信ボタンに名前を付けました。

4

1 に答える 1

0

もちろん、部分ビューからデータを収集し、ポストバック データとして親ビューに対応するアクションに送信できます。あなたの場合、すべてのモデル フィールドが、送信しようとしているメイン フォームに含まれていることを確認する必要があります。送信がトリガーされると、input/select/textarea フィールドからのすべての値が収集され、シリアル化されてリクエストに添付されます。サーバー側では、このすべてのデータがアクションに対応するモデル/アクション パラメーターにマップされます。

于 2012-09-05T08:31:50.680 に答える