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フォームのコードの記述方法を理解しておきましょう。

おすすめ記事はコチラ

ASP.NET Web Forms 1

この記事ではマイクロソフト社が開発・提供しているWebアプリケーション開発用フレームワーク「ASP.NET」の「Web Forms」を「MVC」と比較しながらメリットやデメリット等を含めて解説していき ...

C#VB 2

今回はC#(ver.7.0以降)、VB(ver. 15以降)でforeachループ内で繰り返し回数を参照する方法について解説していきます。 従来の記述方法とよりスマートに記述する方法の2通りを以下にな ...

3

この記事ではSQL Serverで使用できる「STUFF」という便利な関数の使い方について、解説していきます! 他にも便利な関数があれば、別記事にて使用方法を解説していきたいと思います! STUFF ...

4

今回はSQL ServerでデータをXML形式で取得する方法について書いていきます。 FOR XML PATH SQL Serverには「FOR XML PATH」という関数があって、SQL分の末尾に ...

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