最終更新日 2006 年 3 月 22 日
サンプル コードのダウンロード
(aspnettips_HeaderProperty.msi, 252 KB)
※このサンプルをお使いいただくためには、Visual Studio 2005 が必要です。
ASP.NET 2.0 では、ページのヘッダ情報を取得、設定できる Header プロパティが追加されました。このため、プログラムからヘッダ情報を動的に設定することが簡単に行えます。今回は、Header プロパティを使って、ページ タイトルとスタイル ルールの設定を行う方法を紹介します。
サンプル フォームを準備する
はじめに、ボタン コントロールが 2つあるページを用意します。(リスト1 および図1)。このページで、ボタンが押されるとヘッダ情報にアクセスして、<title> 要素を指定することでページ タイトルを変更し、<style> 要素を指定することで <body> の背景色と前景色を変更します。
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html >
<head runat="server">
<title>Sample Page</title>
</head>
<body>
<form id="MyForm" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text=" 黒 " />
<asp:Button ID="Button2" runat="server" Text=" 白 " />
</div>
</form>
</body>
</html>
|
リスト1.Default.aspx
図
1 Default.aspx
のデザイナ画面
Header プロパティを設定する
ヘッダ情報の <title> 要素を指定するには、Page.Header の Title プロパティにタイトル文字列を設定することで指定します。また、<style> 要素を指定するには、Page.Header の StyleSheet プロパティにアクセスします。スタイルのルールを作成するには、まず、Style オブジェクトを作成し、設定するカラー値などを設定してから CreateStyleRule メソッドを使って作成します。このとき、第 3 パラメータにスタイルのルールを設定する要素の名前を指定します。
それでは、リスト2 のコードを追加して、[ 黒 ] ボタンが押されたときの処理を実装してください。次に、リスト3 のコードを追加して、[ 白 ] ボタンが押されたときの処理を実装してください。処理自体は、リスト2 と同じです。違いは、Title プロパティに設定しているタイトル文字列と、ForeColor、BackColor プロパティに設定しているカラー値の違いのみになります。
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
' ページ タイトルを設定
Page.Header.Title = "Sample Page(黒)"
' Style オブジェクトの作成と設定
Dim bodyStyle As New Style()
bodyStyle.ForeColor = System.Drawing.Color.White
bodyStyle.BackColor = System.Drawing.Color.Black
' に対してスタイル ルールを作成
Page.Header.StyleSheet.CreateStyleRule(bodyStyle, Nothing, "BODY")
End Sub |
リスト2.Default.aspx.vb に追加するコード([ 黒 ] ボタン用)
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
' ページ タイトルを設定
Page.Header.Title = "Sample Page(白)"
' Style オブジェクトの作成と設定
Dim bodyStyle As New Style()
bodyStyle.ForeColor = System.Drawing.Color.Black
bodyStyle.BackColor = System.Drawing.Color.White
' に対してスタイル ルールを作成
Page.Header.StyleSheet.CreateStyleRule(bodyStyle, Nothing, "BODY")
End Sub |
リスト3.Default.aspx.vb に追加するコード([ 白 ] ボタン用)
完成したコードは、リスト4 になり、実行した結果は、図2 のようになります。
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
' ページ タイトルを設定
Page.Header.Title = "Sample Page(黒)"
' Style オブジェクトの作成と設定
Dim bodyStyle As New Style()
bodyStyle.ForeColor = System.Drawing.Color.White
bodyStyle.BackColor = System.Drawing.Color.Black
' に対してスタイル ルールを作成
Page.Header.StyleSheet.CreateStyleRule(bodyStyle, Nothing, "BODY")
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
' ページ タイトルを設定
Page.Header.Title = "Sample Page(白)"
' Style オブジェクトの作成と設定
Dim bodyStyle As New Style()
bodyStyle.ForeColor = System.Drawing.Color.Black
bodyStyle.BackColor = System.Drawing.Color.White
' に対してスタイル ルールを作成
Page.Header.StyleSheet.CreateStyleRule(bodyStyle, Nothing, "BODY")
End Sub
End Class |
リスト4.Default.aspx.vb
図
2. Default.aspx
の実行結果