1. ホーム
  2. asp.net

[解決済み] cshtmlとaspxの違いは何ですか、なぜですか、どのようなときに選択するのが良いですか?

2022-03-02 05:42:56

質問

cshtmlとaspxの技術について、何を、なぜ、いつ選択するのが良いのか知りたいのですが、どうすれば良いのでしょうか?この2つの技術は何のためにあるのでしょうか?

ありがとうございました。

解決方法は?

他の方が回答されている通りです。 .cshtml (または .vbhtml は、MVC エンジンをロードするためのハンドラマッピングを提供します。そのため .aspx 拡張モジュールは単に aspnet_isapi.dll をロードしてコンパイルを実行し、ウェブフォームを提供します。ハンドラマッピングの違いは、MVC アプリケーションと WebForms アプリケーションが共通のルートで動作するように、同じサーバー上で 2 つを共存させるための方法に過ぎません。

これにより http://www.mydomain.com/MyMVCApplication と共にMVCルールで有効であり、提供されます。 http://www.mydomain.com/MyWebFormsApplication を標準的なウェブフォームとして有効なものにします。

編集する
技術の違いについては、MVC(Razor)テンプレートフレームワークは、モデル(ビジネス/データオブジェクト)、ビュー(ユーザーが見るもの)、コントローラ(2つの間の接続)間のコードロジックを分離するテンプレート化されたビューの、よりRESTful "Web-based" プラットフォームへ.Netページを戻すことを目的としています。WebForms モデル (aspx) は、WinForms アプリケーションに似た、よりステートフルなアプリケーションをシミュレートするために複雑な JavaScript 埋め込みを使用する Microsoft による試みで、イベントとページ間の自身の状態を保持できるページのライフサイクルを完備しています。

どちらのシステムを使うかについては、賛否両論があるため、常に論争の的となるでしょう。私は、MVCアーキテクチャのシンプルさ(ルーティングはシンプルではありませんが)と、Razorの構文の簡単さが好きです。WebForms のアーキテクチャは、効果的なウェブ・プラットフォームになるには重すぎるように感じます。とはいえ、WebForms フレームワークがよく定義された豊富なイベント構造を持つ非常に簡潔で使用可能なモデルを提供する多くの事例が存在します。それはすべて、アプリケーションのニーズとそれを構築する人々の好みに帰結します。