2

私は答えを探していたこの質問を持っていました、そして私はこの質問の答えを見ました

ViewDataとViewBagの違いは何ですか?

答えの中で、ViewBagもViewDataも使用しないと多くの人が「安全」だと述べています。私はWebアプリケーションとその概念全体、そしてMVC全体に慣れていないので、その理由がわかりませんでした。だから私の質問は:

  1. ViewBagとViewDataがデータを渡す安全な方法ではないのはなぜですか?
  2. データを渡すための最良の方法は何ですか?(最も重要な質問)

私は本当にあなたの助けに感謝します!

4

2 に答える 2

1

議論がありました。私は常に特定のビューモデルを使用します。

ViewBagまたはViewDataも使用できますが、お勧めしません。

ViewDataは安全ではありません。なぜなら、

ViewData["foo"]コントローラに設定されていない可能性がありますが、アクセスしようとすると失敗します。このようViewBagに、言語の動的機能を使用するものが導入されました。

したがって、ViewDataの方がいくらか安全です。ただし、優れた設計として、ビューごとにビューモデルオブジェクトを作成するのが理想的です。

于 2012-11-23T06:30:51.760 に答える
1

別の方法は、強く型付けされたモデルオブジェクトです。動的ViewBagオブジェクトを操作するときに発生する可能性のある実行時例外の一部を防ぐため、これを好む人もいます。また、オートコンプリートなどの便利なIDE機能が可能になり、コードが読みやすくなる傾向があります。

MicrosoftのRickAndersonからの優れたブログ投稿があり、さまざまなオプションの例を説明および提供しており、役立つ場合があります。

強く入力されたオプションが追求したいもののように見える場合は、このチュートリアルが役立つ場合があります:http ://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/accessing -your-models-data-from-a-controller

于 2012-11-23T06:59:54.713 に答える