Вы можете использовать комбинацию элемента управления Menu, CSS Friendly Adapters и CSS Sprites .
Я сделал много таких, поэтому не стесняйтесь задавать любые вопросы.
В конце концов, вы хотите что-то вроде этого:
<ul id="nav">
<li><a href="page1.aspx" id="page1">Page 1</a></li>
<li><a href="page2.aspx" id="page2">Page 2</a></li>
<li><a href="page3.aspx" id="page3">Page 3</a></li>
<li><a href="page4.aspx" id="page4">Page 4</a></li>
</ul>
Создай что-то вроде этого:
#nav li { float: left; }
#nav a { height: 30px; width: 150px; background: transparent url("bg.png") no-repeat scroll left top; }
#nav a#page1:hover { background-image-position: -30px 0; }
и т.д.. и т.д ...
Вам нужно будет установить положение фонового изображения для каждого элемента, но этот урок по спрайтам изображений поможет вам там.
Адаптер меню Css в Asp.Net, к сожалению, не ставит идентификаторы для каждого элемента. Я изменил исходный код, чтобы сделать это, но вы можете просто сделать это с помощью html, если вам не нужна абстракция, которую дает элемент управления Menu.