2010-11-29 3 views
3

は、ベストプラクティスは何ですか - パラメータなしでのみ強く型付けされたビューを使用するには、ViewDataを辞書を通過する、またはそれはビューでこのようなものを使用しては悪くない考えです:ASP.NET MVCの厳密な型付きビューまたは非表示ですか?

<%: (string)ViewData["helloMessage"]%> 

感謝。

答えて

6

強く型付けされたビューを使用することをお勧めします。いくつかのケースでは、モデルに属していないあなたの例のようなただ1つの文字列が必要な場合、それを使用することはOKです。もう1つの方法は、この変数をクラスにカプセル化し、そのクラスをビューに渡すことです。結果は強く型付けされたビューになります:-)

私は個人的には魔法の弦が好きではありません。

+1

文字列のみをビューに渡す場合は、文字列のために特別なクラスを作成する必要はありません。代わりに、文字列クラス自体をモデルとして渡します: 'string a =" ";ビューを返す(a); 'また、文字列の場合は、ビュー名を混同しないように' return View((object)a); 'を実行する必要があります。文字列モデルを指すビュー。 –

+0

グッドポイントマキシム;-) – Mariusz

1

"マジックストリング"の使用に間違いはありません
しかし、それらは入力ミスの可能性があります。

MVC 3には、ビュー内のViewオブジェクトに対応するコントローラ内の動的オブジェクトViewModelがあります。
コントローラーにViewModel.MyData="something";を割り当てて、あなたのビューにそれを使用することができます。@View.MyData
これはちょっと良い方法です。

厳密に型指定されたビューのみを使用すると、コンパイル時間のチェックが有効になります。
それはあなた次第です。
私は個人的に私は動的オブジェクトを使用します。

+0

MVC 3での動的オブジェクトのアプローチは素晴らしいです。私もそれをたくさん使っています;-) – Mariusz

関連する問題