サーチ…


前書き

ASPにジャンプする前に。 NET MVCを使用してWebアプリケーションを開発するには、フレームワークの利点と欠点を考慮する必要があります。また、ASP .NET WebフォームであるMicrosoftによって作成および管理される別のWebフレームワークがあることを知っておく必要があります。

どちらを選択すべきかは、両方の技術の知識の問題です。

構文

  • ASPX View Engineは、サーバー側のコンテンツをレンダリングするために "<%=%>"または "<%:%>"を使用します。

  • Razor View Engineは@を使用してサーバー側のコンテンツをレンダリングします。

備考

https://www.asp.net/web-forms

https://www.asp.net/mvc

ASP .NET Webフォームの利点

  • グリッド、入力、グラフ、ツリーなどを処理するための事前ビルドコントロール。

  • HTTPを介して状態を保持するイベントモデルをサポートしており、基幹業務Webアプリケーションの開発に役立ちます。 Webフォームベースのアプリケーションは、何百ものサーバーコントロールでサポートされている数十のイベントを提供します。

  • 個々のページに機能を追加するPage Controllerパターンを使用します。詳細については、MSDN WebサイトのPage Controllerを参照してください。

  • ビューステートまたはサーバーベースのフォームを使用するため、状態情報の管理が容易になります。

  • これは、迅速なアプリケーション開発に利用できる多数のコンポーネントを利用したいWeb開発者やデザイナーの小規模なチームにとっては効果的です。

  • 一般に、コンポーネント(ページクラス、コントロールなど)は緊密に統合されており、通常はMVCモデルよりも少ないコードしか必要としないため、アプリケーション開発にはあまり複雑ではありません。

  • WindowsForm開発から来た開発者のための簡単な開発モデル。

Webフォームとは

MVCベースのWebアプリケーションのメリット

  • アプリケーションをモデル、ビュー、およびコントローラに分割することで、複雑さを簡単に管理できます(懸案事項の分離)。

  • ビューステートまたはサーバーベースのフォームは使用しません。これにより、MVCフレームワークは、アプリケーションの動作を完全に制御したい開発者にとって理想的です。

  • 単一のコントローラーを介してWebアプリケーション要求を処理するFront Controllerパターンを使用します。これにより、豊富なルーティングインフラストラクチャをサポートするアプリケーションを設計できます。詳細については、MSDN WebサイトのFront Controllerを参照してください。

  • テストドリブン開発(TDD)をより良くサポートします。

  • これは、アプリケーションの動作を高度に制御する必要がある開発者やWebデザイナーの大規模なチームによってサポートされているWebアプリケーションにとっては効果的です。

Webフォームとは

短所

Webフォーム:

  • 複雑なページライフサイクルでは、サーバーにリクエストが行われるたびに、イベントハンドラの前に実行するメソッドが少なくとも5つあります。
  • JQueryやAngularのようなクライアントサイドのフレームワークで作業することをお勧めします。
  • Asyncronous Javascript and XML(AJAX)での作業が難しい
  • ビューステートハンドリング
  • ページのクライアント側とコードビハインドは緊密に結合されています。

MVC:

  • Webフォームと比較して開発には時間がかかります。
  • データはクリアテキスト形式でサーバーに送信されますが、Webフォームではビューの状態データはデフォルトで暗号化されます。

Razor View Engine VS ASPX View Engine

剃刀(MVC) ASPX(Webフォーム)
Razor View Engineで使用される名前空間は、System.Web.Razorです。 ASPXビューエンジンで使用される名前空間は、System.Web.Mvc.WebFormViewEngineです。
Razor View Engineで使用されるファイル拡張子は、Webフォームビューエンジンとは異なります。ビュー、部分ビュー、テンプレート、およびレイアウトページには、C#とC#とvbhtmlを使用したcshtmlが使用されます。 Webフォームビューエンジンで使用されるファイル拡張子は、ASP.Net Webフォームに似ています。 ASPX拡張機能を使用して、部分的なビューやユーザーコントロール、またはレイアウト/マスターページのテンプレートとマスター拡張のaspc拡張を表示します。
Razor Engineは、Test Driven Development(TDD)をサポートしています。 Webフォームビューエンジンは、テスト複合開発を行うためにSystem.Web.UI.Pageクラスに依存するため、テスト駆動開発(TDD)をサポートしていません。

ASPXビューエンジンVS Razor View Engine



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow