2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ASP.NET初心者が学んでみた】第1章:MVCの仕組みをざっくり理解する

Posted at

🏁 はじめに

こんにちは。
僕は普段、WPFアプリを作っているエンジニアです。

最近「Webアプリも作ってみたい!」と思い、ASP.NET Core MVC の学習を始めました。
正直、最初は「なんかよくわからん...」という状態だったので、
自分なりに整理しながら学んだ内容をまとめていきます。

この記事はその 第1章:仕組み理解編 です。

🎯 学ぶ前に思ってたこと

WPFは分かるけど、Webは全然わからない
・「HTMLの中にC#? どうやって?」
・「インスタンス生成はどこから?」
そんな状態からスタートしました。

💡 ASP.NET Coreって何?

ASP.NET Coreは、C#でWebアプリを作るためのフレームワーク。

WPFが「Windows上で動くアプリ」なら、
ASP.NET Coreは「ブラウザ上で動くWebアプリ」。
どちらもC#で書けるけど、動く場所が違います。

比較項目 WPF ASP.NET Core MVC
動作環境 Windows Webブラウザ
UI構成 XAML HTML + Razor
処理トリガ ボタンクリックなど URLアクセス(HTTPリクエスト)
出力 画面を直接描画 HTMLを返す

🧠 「ユーザー操作=イベント」ではなく、「URLアクセス=イベント」になる感じ。

🧱 MVCモデルってなに?

ASP.NET Core MVC の “MVC” は Model / View / Controller の略で、
Webアプリを3つの責務に分けて、コードを整理する仕組みを意味します。

役割 内容 実際の場所
Model データやロジック /Models
View 表示(HTML) /Views
Controller 処理の司令塔 /Controllers

📊 図で見るとこう

🧩 ControllerとViewの関係

例えば、URLで /Home/Index にアクセスしたとします。

Controller側
public class HomeController : Controller
{
    public IActionResult Index()
    {
        ViewData["Message"] = "こんにちは、ASP.NET MVC!";
        return View();
    }
}
View側(HTML)
@{
    ViewData["Title"] = "ホームページ";
}
<h1>@ViewData["Message"]</h1>
結果(ブラウザ)
こんにちは、ASP.NET MVC!

🧠 Controllerで用意したデータをViewで受け取り、
最終的にHTMLを生成して返している、という流れです。

🧠 Razor構文って何?

ASP.NET Coreでは、HTMLの中にC#を書くことができます。
これを実現しているのが「Razor」というテンプレートエンジンです。

@{
    var today = DateTime.Now.ToString("yyyy/MM/dd");
}
<p>今日は @today です。</p>

出力結果👇

<p>今日は 2025/10/28 です。</p>

🧩 プロジェクトの基本構成

ASP.NET MVCのプロジェクトを作ると、だいたいこんな感じです👇

Controllers/
 └── HomeController.cs
Models/
 └── Todo.cs
Views/
 ├── Home/
 │   └── Index.cshtml
 ├── Shared/
 │   └── _Layout.cshtml
Program.cs
フォルダ 内容
Controllers URLの入口(処理)
Models データ構造・ビジネスロジック
Views HTMLテンプレート
Shared 共通レイアウト
Program.cs アプリ全体の設定

⚙️ 動く仕組みを整理

ステップ 起きていること 関係ファイル
/Home/Index にアクセス URL
HomeController.Index() が呼ばれる Controller
ViewData にデータを格納 Controller
Views/Home/Index.cshtml を読み込む View
HTMLを生成してブラウザへ返す 出力HTML

✨ 学んでみて感じたこと

Controllerは「URLのイベントハンドラ」みたいなもの

Viewは「HTMLを生成するテンプレート」

Modelは「データやルールを持つ構造体」

仕組み自体はシンプル(慣れたらWPFより整理されてる)

最初は「どうやってControllerが呼ばれてるの?」と思ってましたが、
ルーティングの仕組みでちゃんと自動的に呼ばれるんですね。

✅ まとめ

要点 内容
ASP.NET Coreとは C#でWebアプリを作るためのフレームワーク
MVCモデル Controller / View / Model に責務を分ける構造
Razor構文 HTMLの中にC#を書く仕組み
URLの流れ /Controller/Action → HTML生成 → ブラウザに表示
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?