印刷用ページ      送信     
クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
ヘッダ情報を動的に設定する

最終更新日 2006 年 3 月 22 日

download1.gifサンプル コードのダウンロード (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 の実行結果

© 2008 Microsoft Corporation.All rights reserved. 使用条件  |  商標  |  プライバシー
Page view tracker