ASP.NETに関する世界観です。
Webアプリケーションの開発プラットフォーム。
.NETでのWebプログラミング。
ASP.NETでは、JSPと同様に、
<% ~ %>
でC#などのコードを埋め込める。
使うプログラミング言語は、
<%@ Page Language="C#" %>
で指定する。この部分をページディレクティブと呼ぶ。
また、入力フォームを配置するために、<asp:TextBox runat="server" />のようなタグを多く使う。イベント駆動を行うために<script runat="server">~</script>タグも使用する。
以下に詳しいサンプルコードがあります。
2026.02.05編集
RazorはMicrosoftによる軽量ビューエンジン。C#によるHTMLのテンプレートエンジンとして利用できる。
後日注記:Razor構文では、変数などの値を表示するためには、単に@を付けるだけでいい。複数行に渡るコードを記述するには@{ ~ }とする。条件分岐は@ifや@switch、繰り返しは@forや@foreachや@whileで行える。関数は@functionsで定義し(たとえばHoge()のような関数を定義する)、実行は@Hoge()などとできる。このほか、コードを部分的に再利用するために、部分ビューやRazorコンポーネントを利用できる。
2026.02.05
2026.02.08編集
Blazorは、MicrosoftによるJavaScriptの代替としてC#とHTML/CSSを用いたフロントエンドフレームワーク。
後日注記:Blazorでは、@pageでルーティング、@bindでデータのバインディング(UIと変数の関連付け)を行い、@codeでC#のコードを書ける。HTMLと同じファイルの中にC#のコードを書くことができる。
後日注記:Razorはマークアップ言語のテンプレートエンジンであり、Blazorはブラウザで動くフロントエンドフレームワークである。また、Razorコンポーネントを利用してUIを実現するのがBlazorである。
2026.02.05
2026.02.08編集
その他のフレームワークとしては、イベント駆動によるASP.NET Web Formsなどがある。MVCではなく、Windows.Formsのやり方に近い。JavaServer Faces(JSF)とよく似ている。
以前はASP.NET MVCというのもあったが、現在はASP.NET Coreとともに統合された。
以下はASP.NET Web FormsとASP.NET MVCの比較記事。
このほか、Microsoft系の技術は以下のWikiが参考になる。
MVCのモデルに相当するEntity Frameworkについては永続化とO/Rマッピングを参照のこと。
2026.02.08
以下はGoogleのAIが書いたRazor Pagesのサンプル。
ページモデル (Index.cshtml.cs)
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace MyApp.Pages
{
public class IndexModel : PageModel
{
// 表示したい名前を保持するプロパティ
public string UserName { get; set; }
public void OnGet()
{
// サーバー側でデータをセットする (DBから取得する代わり)
UserName = "山田太郎";
}
}
}
ビュー (Index.cshtml)
@page
@model IndexModel
@{
ViewData["Title"] = "ホーム";
}
<div class="text-center">
<h1 class="display-4">こんにちは</h1>
<!-- 名前をここに表示 -->
<p>ユーザー名: <strong>@Model.UserName</strong> さん</p>
</div>
2026.02.08
.NETでのネットワークプログラミング。
.NETでのソケットプログラミングについては、VB(クラスライブラリ)も参照のこと。
ASP.NETは、Windowsをサーバーに使う際に使います。
Windows Serverのように、Windowsをサーバーに使う場合、.NET FrameworkをベースにWebアプリケーションを開発するために、ASP.NETを使います。
「Windowsをサーバーに使うだって、何を言っているの?」と思う人もいるかもしれませんが、実際のこの世界では、Windowsをサーバーに使うという人、すなわち「Windowsガチ勢」はIT業界にたくさんいます。
そして、ASP.NETは決して遅れた環境ではなく、Javaのサーブレットと同じぐらい進んだ環境です。
なので、ASP.NETは決して馬鹿な技術ではなく、多くの人が活用する大人気技術です。
ASP.NETは、データベース技術であるADO.NETと一緒に使われることが多く、その際にはMicrosoft SQL Serverをデータベースに採用することが多いです。
ADO.NETも参照のこと。
2023.10.11