ASP.NET Web Forms 独習ASP.NET Web Forms

独習 ASP.NET Webフォームを読んで学んだことをまとめてみました。Part.8

前回に引き続き、「独習 ASP.NET Webフォーム(第6版)」

読んで学んだことを少しずつ記事にまとめていきたいと思います。

読んで学んでインプットするだけではなく、

ブログ記事にまとめてアウトプットして理解を深めていきたいと思います。

Webフォームの基本構造

Webフォームで使用される「.aspxファイル」は、Webページのレイアウトを定義するためのファイルであり、

GUIでコントロールパーツを配置するだけで自動的にHTMLが生成されるので、その点では円滑に開発を進めることができます。

ですが、コントロールパーツだけを配置して開発を進めていても、良いWebページをデザインすることはできませんので、

自動生成されたコードを自分で理解すること、そして、それに対してオリジナルのコードを追加・修正してWebページのデザインを編集していく必要があります。

また、自動生成されるコードはただのHTMLではなくASP.NET独自の構文・要素で記述されているので、それにも慣れておく必要があります。

①ディレクティブ

「.aspxファイル」では、以下のようなコードが含まれていて、ASP.NETの実行エンジンに対してWebページの処理方法をしていするための「ディレクティブ」という構文です。

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Hello.aspx.vb" Inherits="SelfAspNet.Hello" %>


ディレクティブの構文は、
『<%@ ディレクティブ名 属性名="属性値" ...%>』
のような形で記述されています。

また、上記の例のように「@Page」ディレクティブは、対象のWebページの基本的な処理方法を宣言していて、その後ろ側から各属性値を設定することができます。

各属性値の説明は以下の通りです。

属性項目概要
Language使用しているプログラミング言語(C#、VB etc..)
AutoEventWireupページイベント自動登録の有無
CodeBehind分離コードのパス
Inherits分離コードのクラス名

ちなみに、「.aspxファイル」と「.aspx.csファイル」(分離コード)との関連付けは上記の「CodeBehind」「Inherits」の属性値で設定されています。

そして、設定した値(上記のコードの場合、Hello.aspx.cs)では、以下のようなクラスで定義されており、この記述のおかげで関連付けが可能となっています。

Public Class Hello
    Inherits System.Web.UI.Page

関連付けの詳細については、Visual Studioがほとんど実行してくれているのであまり意識する必要がありませんが、

ファイル名の変更やファイルの関連付けを自身で修正する場合、これらのディレクティブや属性項目の設定方法について理解しておく必要があると思います。

コード宣言ブロック

「.aspxファイル」では、HTMLと同じような形でコード宣言ブロックを記述します。
ですが、以下のコードのように「runat="server"」という記述をすることで、その部分のコードはサーバーサイド(C#、VBなど)で実行されるようになります。

逆にrunat属性が指定されていない場合は、コードの記述がそのままクライアントに送信されてしまうことになります。

<form id="form1" runat="server"></form>

サーバーコントロール

サーバーコントロールとは、ASP.NET Webフォームで動的に配置できるコントロールパーツのことで、

コード上では「<asp:TextBox..>」のような形でHTMLに似たタグ形式で記述されています。

サーバーコントロールの通常の構文は以下のようになっています。

<asp:コントロール名 ID="ID値" runat="server" プロパティ名="値" ...> ~~ </asp: コントロール名>

HTMLと同様に対象のタグに対してプロパティ名="値"でオプションを設定することができますが、Webフォームのサーバーコントロールに設定が必要な属性が以下のものになります。

属性(オプション)概要
IDコントロールを一意に識別するキーの設定
runatサーバーコントロールとして設定


コントロールをデザインビューで追加した際にこれらのオプションも含めてコードが自動生成されますが、
自身で手動でコントロールの追加や修正、オプションの設定をするときのためにもWebフォームのコードの記述方法を理解しておきましょう。

おすすめ記事はコチラ

スマレジ テックファーム 1

スマレジ テックファーム で Webエンジニアとして勤めている tomoです。 今回は株式会社スマレジや私が所属している 「 スマレジ テックファーム 」についてPRしていきたいと思います。 スマレジ ...

2

FromBody 属性を使用して、 ASP.NET Core(.NET 6)のWebAPIでBodyパラメータのJSONを受け取る方法を解説します。 FromBody 属性 POSTやGETで呼び出さ ...

PC picture 3

ASP.NET Core(.NET 6)でCookie認証のタイムアウトを設定する方法を解説します。 Cookieの有効期限について Cookieには通常はタイムアウト(有効期限)を設定します。 基本 ...

4

ASP.NET Core(.NET 6)でクロスオリジンリクエスト ( CORS )を設定する方法を解説します。 簡単に クロスオリジンリクエスト ( CORS )とは何かについても少し解説したいと思 ...

-ASP.NET, Web Forms, 独習ASP.NET Web Forms
-, ,