1

asp.net mvc で、ViewData にディクショナリまたはオブジェクトの配列を押し込んで、同じデータ構造を持つビュー モデル クラスを作成する場合と比較してビューでそれを読み取る場合、パフォーマンスの違いやその他の考慮事項がありますか、または期待する必要がありますか同じ応答時間?

4

2 に答える 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 に答える