asp.net mvc で、ViewData にディクショナリまたはオブジェクトの配列を押し込んで、同じデータ構造を持つビュー モデル クラスを作成する場合と比較してビューでそれを読み取る場合、パフォーマンスの違いやその他の考慮事項がありますか、または期待する必要がありますか同じ応答時間?
2 に答える
2
応答時間は最小限に抑えられ、パフォーマンスに大きな影響を与えることはありません。
パフォーマンスが低下するだけでなく、ボックス化とボックス化解除hacky
を多用する必要があり、最終的には失敗するため、非常に困難です。
しかし、View Model は、appropriate
モデル データをビューに提供する方法です。
以下を提供します。
- ViewModel のセーバー使用法
- 簡単なモデルの検証 ( があるものでも
Html.EnableClientSideValidation()
) - 厳密に型指定されたビュー (ボックス化解除後にこれを実現します..)
- 調整する必要のない自動生成されたビュー (T4 テンプレートを使用している場合は素晴らしい) -> モデルを調整するときの時間を大幅に節約できます..
そしてその上。フレームワーク全体は、あなたの旅をサポートするこれらの小さなガジェットの上に構築されています.
さあ、コードを壊してみましょう!:-]
于 2010-06-01T22:57:20.270 に答える
0
ビューの最後で ViewData から辞書に変換する場合は、パフォーマンスが低下します。
また、ビューにコードを導入しています。ビューにはコードをほとんどまたはまったく含めないでください。
View は、何らかの理由でクラスから継承できます。これを使って。ViewDataは、ページ タイトルなどの小さな文字列の 1 回だけに使用する必要があります。
モデルからビューを継承せず、代わりにリストなどに ViewData を使用するプロジェクトをここで修正しています。1 つのビューに 15 個あることもあります。いまいましいことはとても遅いですが、ViewData をモデルに置き換えることで速度を取り戻しています。
于 2010-06-01T22:44:01.727 に答える