9

1 つのモデル オブジェクトを使用するマルチ ステップ フォームがあり、ステップ間で保持する必要があります。オブジェクトは、最終ステップの後にのみデータベースに保存されます。HTML.Serialize の使用を提案している人を見たことがありますが、このオプションはどのくらい安全ですか?

また、ユーザーがフォームに入力すると、モデル オブジェクトが大きくなります。つまり、シリアル化されたデータを含む非表示のフォーム フィールドのサイズが HTML 出力に追加されます。

この種の状況のベストプラクティスは何ですか?

4

2 に答える 2

8

この目的でTempDataを使用しました。

オブジェクト (モデル データのコピー) を TempData に保存し、次のリクエストで使用できます。次のリクエストでセットバックされない場合、「破棄」されます。そのため、セッションがいっぱいになることを心配する必要はありません。

于 2011-03-03T14:23:55.253 に答える
0

Controller は、すべてのアクションがウィザードのステップであるステート マシンと考えてください。とにかく、ステップ間の永続性については大したことではありません。Dtoとしての単純なPOCOであり、検証と処理のためにドメインインターフェイスに送信されるコマンドです。IoC、セッション、キャッシュ、ファイルシステムに保存できます...取得したことを願っています。シンプルかつクリーンに保ちます。

于 2011-03-03T21:12:43.063 に答える