проблема с css и главной страницей asp.net

я использовал следующий код на главной странице проекта 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>

Он хорошо работает для всех связанных веб-форм в корневом каталоге, но не на страницах подкаталога. любое предложение будет учтено.

Спасибо заранее...


person Genius    schedule 20.04.2011    source источник


Ответы (2)


Поместите URL-адрес вашего завернутого в ResolveUrl следующим образом:

<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>
person justin.lovell    schedule 20.04.2011
comment
Спасибо дружище за поддержку - person Genius; 20.04.2011

Вы используете относительный URL-адрес Images/home.png для расположения изображения, измените его на абсолютный /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>

Кроме того, это не имеет ничего общего с CSS, поскольку вы используете наведение мыши старой школы Javascript. Я настоятельно рекомендую вам изменить его на что-то вроде:

<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>
person roryf    schedule 20.04.2011