2

asp.netプロジェクトのマスターページで次のコードを使用しました

<a runat="server" href="home.htm" onmouseover="document.Home_Img.src='Images/home_2.png'"
        onmouseout="document.Home_Img.src='Images/home.png'">
        <img alt="" src="Images/home.png" name="Home_Img" runat="server" />
    </a>

ルート ディレクトリ内のすべての関連付けられた Web フォームではうまく機能しますが、サブ ディレクトリ ページでは機能しません。どんな提案も尊重されます。

事前にt​​hnx...

4

2 に答える 2

6

画像の場所に相対 URLImages/home.pngを使用している場合は、絶対 URL に変更します/Images/home.png

<a runat="server" href="home.htm" onmouseover="document.Home_Img.src='/Images/home_2.png'"
        onmouseout="document.Home_Img.src='/Images/home.png'">
        <img alt="" src="/Images/home.png" name="Home_Img" runat="server" />
    </a>

また、古い学校の Javascript マウスオーバーを使用しているため、これは CSS とは関係ありません。次のように変更することを強くお勧めします。

<style>
a.home {
    background: url(/Images/home.png) no-repeat;
    display: block; /* this may not be correct, depends on the layout */
    height: 100px; /* height of image */
    text-indent: 9999px;
    width: 100px; /* width of image */
}
a.home:hover {
    background: url(/Images/home_2.png) no-repeat;
}
</style>

<a class="home" href="home.htm">Home</a>
于 2011-04-20T12:45:51.307 に答える
2

次のように ResolveUrl にラップされた URL を入れます。

<a runat="server" href="<%= this.ResolveUrl("home.htm") %>" onmouseover="document.Home_Img.src='<%= this.ResolveUrl("Images/home_2.png") %>'"
        onmouseout="document.Home_Img.src='<%= this.ResolveUrl("Images/home.png") %>'">
        <img alt="" src="Images/home.png" name="Home_Img" runat="server" />
    </a>
于 2011-04-20T12:47:59.763 に答える