2007年8月10日金曜日

ASP.NET マスターページの画像を動的に変更(簡易)

マスターページの画像を動的に変更します。

■ヘッダー部分となるマスターページを作成します。
「新しい項目の追加」で「マスターページ」を作成します。
Imageコントロールを配置します。

■コンテンツ部分となるページを作成します。
「新しい項目の追加」で「Webフォーム」を選択し「マスタページを選択する」チェックボックスをチェックします。(Webアプリケーションの場合は「新しい項目の追加」で「Webコンテンツフォーム」を作成します。)「マスタページの選択」ダイアログボックスで先ほど作成したマスタページを選択します。

マスターページのInitイベントに以下のコードを記述します。

Public Partial Class Site1

    Inherits System.Web.UI.MasterPage




    Protected Sub Page_Init(ByVal sender As ObjectByVal e As System.EventArgs) _

    Handles Me.Init

        Select Case CStr(Session.Item("Site"))

            Case "A"

                Me.Image1.ImageUrl = "~/Image/A.gif"

            Case "B"

                Me.Image1.ImageUrl = "~/Image/B.gif"

        End Select

    End Sub




End Class


あとは適当なところでセッション変数「Site」にAかBか保存するだけです。
例えばログインユーザの所属部門ごとにヘッダーの画像を変更する場合などに使用します。
ログイン時にセッション変数に所属部門を保存しておき、マスタページで画像を切り替えます。

0 件のコメント: