3

新しいRazorビューエンジンのドキュメントの多くは、WebMatrixおよびASP.NETの「Webページ」のコンテキストにあります。MSDNライブラリ自体でも、ほとんどのRazorドキュメント( Razor構文を使用したASP.NET Webページ)のルートリファレンスページであると思われる記事は、本質的にASP.NET Webページに関連付けられており、 「MicrosoftWebMatrix」というタイトルのドキュメントツリーのブランチ。

ただし、私が読んだ他のことから、Razor構文はASP.NET MVC 3でも使用できることがわかりました。これは、ASP.NETWebページとはほとんど関係がないようです。

今、私はこの分野全体に不慣れで、現在WebMatrixで学習しているので、詳細の一部が間違っている場合は修正してください。ただし、ASP.NETMVCの学習も開始したいと思います。近い将来、これらの区別を行うことがその移行にとって重要になります。

そのため、私が学んでいることのどの部分がRazor構文の一部であり、ASP.NETの「Webページ」の一部であるかを正確に理解できる決定的なガイドを探しています。

また、WebMatrixとASP.NETWebページの間に違いがあるかどうかを明確にする必要があります。WebMatrixが「Webページ」に基づいていることは理解していますが、私が学んでいることの一部が具体的にWebMatrixの一部であるのか、それとも(私が思うに)WebMatrixが「Webページ」を中心とした単なるIDEであるのかは明らかではありません。 UI以外には何も追加されていません。

誰かがこれらの分野でいくつかの明確さを提供できますか?

(ちなみに、私は何か(他の)が欠けているのでしょうか、それとも「Webページ」はこの新しいシステムで思いついた可能性のある最も紛らわしい名前ですか?)

4

2 に答える 2

6

はい、ASP.NETWebPagesは紛らわしい名前です。私たちは試しましたが、これ以上のことは思いつきませんでした。ごめん :)

MVC、Razor、WebMatrix、およびWebPages間のさまざまな相互作用の非常に優れた説明については、David Ebboのブログ投稿「WebMatrix、Razor、ASP.NET Webページ、およびMVCがどのように組み合わされるか」を参照してください。

Razor構文は、@シンボル、いくつかのキーワード(、、など@helper@inherits@sectionおよびコードとマークアップの間の遷移を把握するためのかみそりファイルのスマートな解析にほぼ要約されます。それ以外はすべて、標準のC#コード(ifsとfors)、マークアップ、またはWebPagesフレームワークによって提供されるライブラリとユーティリティのいずれかです。

現在、RazorとWebPagesは完全に分離されておらず、すべてを連携させる2つの間に接続と規則が組み込まれています。たとえば@section、Razorキーワードです。Razorパーサーは、それをWebPagesフレームワークメソッドを呼び出すコードに変換します。DefineSectionこれにより、後でレイアウトページでを呼び出すことができます@RenderSection

MVCでのRazorの使用法は、WebPagesフレームワークによって異なります。具体的には、MVCは、WebPagesのページを表すクラスを拡張して、RenderSectionMVCでも機能するようにします。唯一の違いは、MVCには、MVCプログラミングパラダイム用に設計された独自のユーティリティとライブラリのセットがあることです。たとえば、HrefWebPagesからメソッドを呼び出す代わりにUrl.Content、MVCで呼び出します。

WebPagesの多数の関数は、MVCで引き続き機能しますが、代わりに呼び出したいmvc風のメソッドがさらにある場合があります。

于 2011-02-26T00:38:55.260 に答える
1

marcindの説明を拡張するために、RazorはWebページ用に開発されました。MVCチームは、それが優れたビューエンジンにもなると考えました。Razorの「構文」のバージョンは1つしかないため、MVC3はWebPagesdllに依存しています。

ああ、「Webページ」と「WebMatrix」の両方に名前を付けたとき、彼らはアイデアを使い果たしていたと思います。アマゾンは最近8年前のWebMatrixの本の注文が増えているのだろうか?

于 2011-02-26T08:05:19.287 に答える