2

問題

ビューモデルのリストがあります。ほとんどのビューモデルにはドロップダウン入力があります。ModelStateが有効な場合、すべてが正常に機能し、データの入力を処理できますが、フォームの検証でエラーが発生すると、ドロップダウンメニューにデータを再入力する必要があるため、すべてが混乱します。ビューモデルごとにドロップダウンリストが異なるため、これは少し問題です。

試みられた解決策

各ビューモデルとgetはデータベースからの対応するドメインモデルであると考えることができますが、それはあまり効率的ではないようです(特に、約30のフィールドがあり、それぞれに異なるドロップダウンリストがある可能性があるためです!)。

フォームの検証が失敗した場合にドロップダウンを持続させる方法はありますか?

4

1 に答える 1

1

フォームの検証が失敗した場合にドロップダウンを持続させる方法はありますか?

何も組み込まれていません。1つの可能性はCache、それらのデータベース呼び出しの結果に対して、毎回ヒットしないようにすることです。したがって、キャッシュからリストを返すメソッドがあるか、データベースにクエリが存在しない場合は、結果のリストをキャッシュに保存して結果を返すメソッドがあります。次に、検証エラーが発生した場合は、これらのメソッドを呼び出してドロップダウンリストを再作成します。これは、特に値が頻繁に変更されないドロップダウンリストの場合、シンプルで効果的な方法です。

于 2012-06-19T16:48:12.407 に答える