ASP.NETについて勉強② ~コードビバインド~
こんばんは!
今、C#やASP.NETについて学んでいますので、アウトプットで記事にまとめていきます!!
今回はコードビバインドについてまとめていきます。
ASP.NETのコードビバインドとは
ASP.NETのコードビハインド(Code-Behind)とは、Webページの見た目を定義する**.aspxファイルと、そのページの動作を定義する.aspx.csファイル**(C#を使用する場合)を分離するためのテクニックです。このアプローチにより、プレゼンテーションロジックとビジネスロジックが混在することを防ぎ、コードの再利用性と保守性を向上させることができます。
コードビバインドのメリット
分離の原則
ビジネスロジックとプレゼンテーションロジックを分離することで、コードの可読性と保守性が向上します。
再利用性
ロジックを分離することで、同じロジックを異なるページで再利用することが容易になります。
テスト容易性
ビジネスロジックが分離されているため、単体テストが容易になります。
コードビハインドの動作原理
.aspxファイルのコード変換時の継承パス
ASP.NETでは、.aspxファイルは実行時に動的にクラスに変換されます。このクラスはSystem.Web.UI.Pageクラスを継承し、さらにコードビハインドファイルで定義されたクラスを継承します。これにより、.aspxファイルとコードビハインドファイルが一体となり、一つのWebページとして動作します。
クラスのpartialに関する注意点
コードビハインドのクラスはpartialキーワードを使用して定義されます。これにより、クラスの定義を複数のファイルに分割することができます。しかし、partialクラスを使用する際には以下の点に注意が必要です。
同じクラス名
分割されたクラスの各部分は、全て同じクラス名を持つ必要があります。
同じアクセス修飾子
分割されたクラスの各部分は、全て同じアクセス修飾子(public、privateなど)を持つ必要があります。
同じアセンブリ
分割されたクラスの各部分は、全て同じアセンブリ(DLLまたはEXEファイル)に含まれる必要があります。
実際にASP.NET Web Formsで試してみる
以下のようなコードを書いてみます。
>|aspx|
<%--
FileName: test.aspx
Created by: keita
Created on: 2024.6
Description:
コードビバインドの動作を試します
--%>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>コードビバインドテスト</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Label" />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
||<
>|C#|
/*
* FileName: test.aspx.cs
* Created by: keita
* Created on: 2024.6
*
* Description:
* コードビバインドの動作を試します
*/
using System;
public partial class test : System.Web.UI.Page
{
if(!IsPostBack) Labal1.Text = "Welcome to ASP.net";
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Button clicked!";
}||<
コードの概要
まず、提供されたコードはASP.NETのWebページを定義しています。このページには、ラベルとボタンの2つのコントロールが含まれています。そして、ページがロードされたときとボタンがクリックされたときの動作が、コードビハインドファイル(test.aspx.cs)で定義されています。
ページのロード
ページが初めてロードされるとき(つまり、PostBackがfalseのとき)、Page_Loadメソッドが呼び出されます。このメソッドでは、ラベルのテキストが"Welcome to ASP.NET!"に設定されます。
ボタンのクリック
ユーザーがボタンをクリックすると、Button1_Clickメソッドが呼び出されます。このメソッドでは、ラベルのテキストが"Button clicked!"に変更されます。
コードのコンパイル
ASP.NETでは、.aspxファイルは実行時に動的にクラスに変換されます。このクラスはSystem.Web.UI.Pageクラスを継承し、さらにコードビハインドファイルで定義されたクラスを継承します。これにより、.aspxファイルとコードビハインドファイルが一体となり、一つのWebページとして動作します。
では動かしてみます!

ボタンを押下してみます!

変わりました!
何てことないコードですが、動きを意識してみると結構勉強になります♪
今日はここまでです。
ここまで読んでいただきありがとうございました。