目次

ASP.NET WebFormのマスターページのリンクや画像が正しく動作しない

目次

ASP.NET WebFormのマスターページのリンクや画像が正しく動作しない現象と対処法を紹介します。

現象

ASP.NET WebFormのマスターページの左上のサービスロゴをクリックするとトップページに戻れるようにする場合、 AタグやImgタグでリンクを作成するとコンテンツフォームがマスターページと違うディレクトリにある場合に不具合が起きます。

例1

リンクの記述を以下にした場合。

 <a href="default.aspx>back</a>


リンクの戻り先は次の通りとなり、戻り先が変わってしまいます。

コンテンツフォーム配置先リンク戻り先
/ /default.aspx
/sub /sub/default.aspx

例2

画像の場合も同様となり、画像の記述を以下にした場合。

 <img src="res/logo.png"/>


コンテンツフォームが/subディレクトリにある場合は画像が表示されません。

コンテンツフォーム配置先画像参照先
/ /res/logo.png
/sub /sub/res/logo.png

対処法

この場合は、AタグやImgタグで記述するのではなく、HyperLinkコントロールを配置し、 リンク先(NavigateURL)を "~/default.aspx"にして、画像を(ImageURL)を "~/res/logo.png"とすると、正しく動作します。


AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2009-10-02
Copyright © 1995–2025 iPentec all rights reserverd.