2012-05-08 25 views
17

私はMVCにはまったく新しいです...私はSilverlightとWPFとMVVMに関する知識はかなりありますが、MVCに関する知識はほとんどありません。私はマイクロソフトのサイトhttp://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/adding-a-viewのチュートリアルに従っています。私は9の3の記事を読んでいると思います。もともと、私は、「Razor」の「View Engine」を使ってMVCサイトを作成するように言いました。私は、「Razor」ではなく「ASPX」を使用することを選択しました。なぜなら、第三者の依存関係が少なくなると思ったからです。MVC ASP.NET or Razor

新しいMVC Webアプリケーションを起動するときは、「ASPX」ではなく「Razor」を使用することをお勧めします。正直言って私はその違いを知らない。前述のように、ASPXを選択してサードパーティ製のDLLやコードを余計に使用しないようにしました。 ASPXを選択するのが最善の場合は、MSのサイトのチュートリアルでRazorを開始するように指示している理由について少し混乱します。

"Razor"ビューエンジンとは対照的に "ASPX"ビューエンジンを使用する必要がある場合は、誰かに光を当てることができますか?

+2

TL; DR;かみそりは良いです。 – Joe

+0

ええ、私はなぜvs 1と他のvsの違いがもう少し必要です。もう片方が提供しないものは何を提供するのか。私は、Razorなどを使用すると、数年後には開かれないサードパーティ製のオープンソース実装に自分自身を限定していますか? –

+0

[関連するスレッド](http://stackoverflow.com/q/4702231/304683) – EdSF

答えて

20

サードパーティとの間に何らかの依存関係はありません。 ASPXは問題ありませんが、あなたのやり方にとどまっているため、Razorが優れています。

Scott Guthrieのブログ記事Introducing "Razor"を読んでください。

あなたは基本的に同じことを行うには、これまで少数のキーストローク、@シンボルで開始タグと終了タグ<%%>を置き換える、すなわち

<%: Model.UserName %>

@Model.UserName

なりおよび

<% foreach (string name in nameList) { .. } %>

は少しそれよりもそれによりますが、あまりがあります

@foreach (string name in nameList) { .. }

になります。

+1

ここには、Razorがどこにいても、http://www.dotnetrocksのいずれの場所にいても快適な情報があります。 com/default.aspx?showNum = 606(RazorとMVCのPhil Haackとの.NET Rocksエピソード) –

+0

本質的には、Razorのショールームは<%= blah %>と@blahですか?これは、あなたの答えを編集する場合、私はこの記事で見ているすべてがそれが何であるかということで受け入れます。 –

+0

あなたはそれを持っています。その途中で編集してください... –

1

あなたが頼りにする「余分なサードパーティ製のDLLまたはコード」は、十分に確立されており、含めるべきブレインターはまったくありません。あなたはそれを一度コピーして忘れてしまいます。あなたもそれらを狩る必要はありません。非常に簡単なXcopy展開です。

ご覧のとおり、MS MVCサイトでは、Razorを使用しています。私が読んだサイトや本のほとんど(すべて?)は、かみそりを使っています。

Razorを使用すると、MVCのaspxよりも多くの助けが得られます。

+0

私の恐怖は、Razorは次のVSで置き換えられる最新かつクールな技術です。私は前に燃えた。私がこの技術を適応させようとするなら、それは「MS Razor 2」に置き換えられず、それが周りにあることを知る必要がある。 Razorは特にMSのMVCで何を提供していますか? –

+0

Razor * IS *マイクロソフトの技術。また、Razor V2は既にASP.NET MVC4で公開予定ですが、新しい言語の構文ではなく、既存のベースの拡張機能です。 – Chris

+1

Dan P、私はあなたがどこから来ているかを完全に知っています。私は、MSの最新かつ最大のデータグリッドやWebパラダイム、ファンデーションクラスなどで何回焼いてしまったのか、基本的には何も避けようとしていた.Net生命の最初の7年を費やしました。しかし、最近はMVCで本当に釘付けになっているようです。私は、Entity FrameworkやCastleや他のものからDB抽象化を行うことを躊躇しがちです。しかし、MVCのことは死んでいるようです。 –

4

Razorは、ASP.NET MVCのMicrosoft内部拡張です。あなたはRazorがコミュニティによって提供されているか、MVC基本コンポーネントのオフショットであるという印象を受けているようです。これはまったく間違っています。 Razorは、ASPXより構文的にクリーンなコードも提供します。

+0

「面倒な人」がMVCのMSの実装であるならば、あなたはVSの次のバージョンに成功する可能性がより高いでしょうか? –

+0

RazorはVisual Studioのものではありません。これは、ASP.NET MVCフレームワークの中核部分です。 MicrosoftはASP.NET MVC4でRazor V2をリリースしているので、どこにも行かない。 – Chris

+0

剃刀は、それが醜いいとこ、スパーク(?)にMicrosoftの応答です。 Webフォームはどちらも消え去っていませんが、それは何を証明していますか?私はまだそれが最新の "傾向"であるという事実を超えて、Razorを使用するための説得力のある議論を見ていません。 ASP 1.0で実行したのと同じスパゲッティのドアを開きます。 – IrishChieftain

-6

剃刀は、あなたのマークアップにできるだけ控えめなものです。コードとマークアップは同じファイル、期間に属しません。誰もがどのようにそのような狂気を推薦することができたのは私を完全に超えています。

+5

剃刀は他のどのビューエンジンよりもコードをマークアップと組み合わせることを推奨していません。あなたがその印象を受けているならば、あなたはおそらく誤解されているでしょう。 ASP.NET MVCのコアコンセプトは、コードベースのロジックでビューを拡張する場合は、別のクラスファイルにHtmlHelper拡張を記述することです。 – Chris

+0

私が見たすべてのサンプルでは、​​ビューにコードが組み込まれています。許されてはならない。これは私たちがいくつかの活発な議論を得ることが確かな論争の問題です:-) – IrishChieftain

+1

@IrishCieftain私はMVVM SilverlightとWPFの非常に良い知識を持っています。 Webに切り替えるとき、私はMVCが最も近い相関であると仮定しました。 MVC ASP.NET MVCまたはRazorを提案していない場合、何をお勧めしますか? –

関連する問題