1. 基礎知識
ASP.NET MVC は、ASP.NET に基づく Web アプリケーション開発フレームワークであり、MVC (Model-View-Controller) 設計パターンを採用しており、開発者が Web アプリケーションを開発しやすくなっています。
1.MVC設計パターン
MVCデザインパターンとは、アプリケーションをモデル(Model)、ビュー(View)、コントローラー(Controller)の3つの部分に分割するデザインパターンです。モデルはデータの処理を担当し、ビューはデータの表示を担当し、コントローラーはユーザー要求の処理と対応するモデルとビューの呼び出しを担当します。
2. ASP.NET MVC フレームワーク
ASP.NET MVC フレームワークは、MVC 設計パターンに基づく Web アプリケーション開発フレームワークであり、開発者が Web アプリケーションをより簡単に開発できるようにする一連のクラスとメソッドを提供します。ASP.NET MVC フレームワークには、コントローラー、ビュー、モデル バインディング、ルーティングなどのコンポーネントが含まれています。
3. コントローラー
コントローラーは ASP.NET MVC フレームワークのコンポーネントであり、ユーザー要求を処理し、対応するモデルとビューを呼び出す役割を果たします。コントローラーは、さまざまなリクエストを処理するためのIndex、Create、Editなどの一連のメソッドを含むコントローラー クラスを継承することによって作成できます。
4. 見る
ビューは、データの表示を担当するASP.NET MVC フレームワークのコンポーネントです。ビューは、 HTML と C# コードを混合した構文であるRazor 構文を使用して作成でき、開発者はビューを簡単に作成できます。
5. モデルバインディング
モデル バインディングは、ユーザーが送信したデータをモデルにバインドする役割を担うASP.NET MVC フレームワークのコンポーネントです。モデル バインディングは、ユーザーが送信したデータをモデルの属性値に変換するModelBinder クラスを通じて実装できます。
6. ルーティング
ルーティングはASP.NET MVC フレームワークのコンポーネントであり、ユーザー要求を対応するコントローラーとメソッドにマッピングする役割を果たします。ルーティングは、ユーザー要求を照合するための一連のルーティング ルールを含むRouteConfig クラスを通じて構成できます。
2つ目、補足事項
1. コントローラーの Index、Create、および Edit メソッドは通常、データの追加、削除、変更、およびクエリに使用されます。
Index メソッドはデータ リストを表示するために使用され、通常はデータベースからデータを取得し、それを表示のためにビューに渡します。サンプルコードは次のとおりです。
```csharp
public ActionResult Index()
{ var data = db.MyTable.ToList(); ビュー(データ)を返す; } ```
Create メソッドは、新しいデータ レコードを作成するために使用されます。通常、ビューにフォームが表示され、ユーザーはフォームに記入した後にデータを送信します。サンプルコードは次のとおりです。
```csharp
public ActionResult Create()
{ return View(); }
[HttpPost]
public ActionResult Create(MyModel モデル)
{ if (ModelState.IsValid) { db.MyTable.Add(model); db.SaveChanges(); return RedirectToAction("インデックス"); ビュー(モデル)を返します 。} ```
Edit メソッドは既存のデータ レコードを編集するために使用され、通常はビューにフォームを表示し、フォーム データを事前に入力して、ユーザーがそれを変更できるようにします。サンプルコードは次のとおりです。
```csharp
public ActionResult Edit(int id)
{ var model = db.MyTable.Find(id); if (model == null) { return HttpNotFound(); ビュー(モデル)を返します 。}
[HttpPost]
public ActionResult Edit(MyModel モデル)
{ if (ModelState.IsValid) { db.Entry(model).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("インデックス"); ビュー(モデル)を返します 。} ```
2. ルーティング
ASP.NET MVC ルーティングとは、URL 要求を対応するコントローラーおよびアクション メソッドにマッピングするプロセスを指します。ASP.NET MVC では、ルーティングはRouteConfig クラスを通じて管理されます。RouteTable では、複数のルーティング ルールを追加できます。各ルーティング ルールは URL パターンとハンドラーで構成されます。
要求が ASP.NET MVC アプリケーションに到着すると、ルーティング システムは要求された URL をルーティング ルールと照合します。一致するルーティング ルールが見つかった場合、要求は処理のために対応するコントローラーおよび操作メソッドに転送されます。一致するルーティング ルールが見つからない場合は、404 エラーが返されます。
ASP.NET MVC ルーティングの URL パターンには、静的部分と動的部分を含めることができます。静的部分は URL 内の変更されない部分を指し、動的部分は URL 内の変更される部分を指します。これらはプレースホルダーで表すことができます。たとえば、次の URL パターンには動的部分が含まれています。
```
/products/{id}
```
このうち、`{id}` はプレースホルダーを表し、任意の数値と一致します。要求された URL が `/products/123` の場合、ルーティング システムはそれを対応するコントローラーおよび操作メソッドと照合し、パラメーターとして `123` を操作メソッドに渡します。