Model-View-Controller (MVC)
MVC は、ユーザー インターフェイス (ビュー)、データ (モデル)、およびアプリケーション ロジック (コントローラー) を分離するために使用されるデザイン パターンです。このパターンは、懸念事項を解決するのに役立ちます。
Web サイトの MVC パターンを使用して、要求は、アクションを実行したりデータを取得したりするための、モデルの操作を担当するコントローラーにルーティングされます。コントローラーは、表示するビューを選択し、モデルを提供します。ビューは、モデル内のデータに基づいて最後のページをレンダリングします。
ASP.NET を使用した MVC
ASP.NET は、MVC パターンを使用して動的な Web サイトを構築するための強力なパターンベースの方法を提供し、関心の分離を明確にします。
public class Person
{
public int PersonId { get; set; }
[Required]
[MinLength(2)]
public string Name { get; set; }
[Phone]
public string PhoneNumber { get; set; }
[EmailAddress]
public string Email { get; set; }
}
モデルとデータ
クリーンなモデル クラスを作成し、データベースに簡単にバインドします。C# の属性を使用して検証ルールを宣言的に定義し、それをクライアントとサーバに適用します。
ASP.NET は、SQLite、SQL Server、MySQL、PostgreSQL、DB2 などの多くのデータベース エンジンと、MongoDB、Redis、Azure Cosmos DB などの非リレーショナル ストアもサポートしています。
public class PeopleController : Controller
{
private readonly AddressBookContext _context;
public PeopleController(AddressBookContext context)
{
_context = context;
}
// GET: /people
public async Task Index()
{
return View(await _context.People.ToListAsync());
}
// GET: /people/details/5
public async Task Details(int id)
{
var person = await _context.People.Find(id);
if (person == null)
{
return NotFound();
}
return View(person);
}
}
コントローラー
通常の C# メソッドとして実装されているコントローラー アクションに要求をルーティングするだけです。 要求パス、クエリ文字列、要求本文のデータは、メソッド パラメーターに自動的にバインドされます。
Razor で表示する
Razor 構文では、設計したビューに基づいて HTML コンテンツを表示するためのシンプルでクリーンで軽量な方法を提供します。Razor を使用すると、C# を使用してページをレンダリングし、HTML5 に準拠した完全な Web ページを生成できます。
準備はできましたか?
このステップ バイ ステップ チュートリアルは、あなたのコンピューターで ASP.NET を使用した MVC を実行するのに役立ちます。