0

MVC 3 に小さな問題があります。アプリケーションを作成しています。ここで、モデル、出荷は次のもので構成されています。

  • ユーザー ID (文字列、必須)
  • 参照 ID (文字列、オプション)
  • 注文 ID のリスト (文字列、空にすることはできません)

アプリケーションのインデックス ビューは、ユーザーが出荷 (モデル) を作成する場所です。これが完了すると、ユーザーはそれ以上操作できなくなります (編集、詳細、またはリスト ビューはありません)。

私の問題はこれです。注文 ID の追加と出荷自体の作成の両方に 1 つのフォームを使用しようとしています。送信には 2 つの別々のボタン (注文 ID の追加には「追加」、出荷の作成には「送信」) を使用します。コントローラーの作成アクションを使用しているときに、「送信」を押すと、注文 ID のリストが空のリストで上書きされるようです。ただし、インデックスアクションに送信し、「送信」を押して作成にリダイレクトすると、モデルの検証はなくなります (ModelState には「送信」のみが含まれます)。

現在、セッションを使用してコントローラー アクションにデータを渡していますが、これはおそらく最善の方法ではありません。

TLDR; モデル内のリストに項目を 1 つずつ追加しながら、他のフォーム データを保持しながら、それを検証できる方法が必要です。

助言がありますか?

4

1 に答える 1

0

あなたがそこで何をしているのかはっきりしていないので、あなたのアクションを見てみることをお勧めしますが、それでも同じデータ構造を使用して異なるタイプのパラメータを渡そうとしているようです (1 つはリストを含み、もう 1 つは一般データを含みます)。 . 異なるデータ構造を送信し、各アクションで必要な結果データ オブジェクトを構築する方がよいと思います。

于 2013-02-18T17:26:07.173 に答える