2009-08-26 9 views
5

私は、さまざまな理由でasp.net MVCビューのために強く型付けされたビューデータを好んでおり、コードビッドが以前のasp.net MVCプレビューにあったように、 poco viewdataクラスを定義する自然な場所です。通常、実際のビューと1対1の関係にあります。asp.net mvc views強く型付けされたビューデータ

asp.net rtmビューでコードビハインドを使用する方法はありますか?これは良い方法ではありませんか?

編集: 私がコードビハインドを持ちたいのは、ビューのプロパティとしてViewDataが表示されているということだけです。ビューがクラスであった場合、ViewDataはそのプロパティの1つであり、別のアセンブリでこれを定義するのは自然ではないと感じます。

答えて

6

MVCとほぼ1年を経て、ビューのコードビハインドが一度も必要ないことを確認できます。コードビハインドを使用している場合、WebFormsをまだ考えている可能性が高いです。もうやめろ。

モデルデータを表示するには、ビューが必要です。適用するCSSクラスのような単純な決定は、サーバータグ内のビューで直接実行できます。より複雑な決定は、コントローラまたはビジネスロジックに委ねられます。

+0

強く型付けされたビューデータを使用していますか?そのクラスを定義している場合はどうしますか? – terjetyl

+0

これらのクラスは、独自のアセンブリ(MyProject.Models)にあり、大きなプロジェクトの場合は、MyProject.ViewModels(または.DTO)にあります。 – Jason

+0

@TT:はい、強く型付けされたビューを使用します。モデルを "Models"フォルダに保存します。モデルは、基本的には、ビューを表示するための準備データを保持する別個の薄いレイヤーを表します。 –

0

ビューのコードビヘイビアは、MVCフレームワークの目的の1つに反します。

ビューはできるだけシンプルで、コントローラまたはエクステンションにすべてのビジネスロジックを処理させながら、プレゼンテーションにのみ焦点を当てる必要があります。

ViewStateの組み合わせを使用するユーザーは、コードビハインドの必要性を排除する必要があります。

0

MVCアーキテクチャでは、Webフォームの場合と同じようにコードの背後にある必要はありません。

MVCアーキテクチャ全体は、魔法を実行しているwebcontrolイベントではなく、制御するコントローラ上に構築されています。

個人的に私はMVCの暗いところに入っていますが、私は今ここに見ているものが好きです。 のデータを強くタイプしてデータを入力し、モデル内で簡単に検証することができるので、あなたの行動に "戻るビュー(アイテム)"を表示してコンテンツを簡単に配置することができます。

1

(入力エラーがビューに表示されますので、素晴らしいです)私は強くこれはまだofcourseの行うことができ、様々な な理由

ため 私のasp.net MVCのビューのためのViewDataを入力好みます。 NerdDinner FormviewModels page 6 私はそれを使用し、それは完全に動作します。私の2つの質問で見つけることができるいくつかの問題があったherehere

上記のように、コードビハインドを使用する理由はわかりません。 MVC構造に関する一般的な情報と、どのようなビューが必要なのかをお読みになることをお勧めします。

関連する問題