Ładne menu [ASP.NET]


(szydera_) #1

Witam,

stworzyłem sobie menu w taki dość łatwy sposób:

czyli przed każdym linkiem mam obrazek, tyle że ten sam ;/ Czy dałoby się zrobić tak, aby jakoś z poziomu kodu .aspx albo .cs ustawiać go różnie? Np. każdy link ma swój obrazek. W jaki sposób to przypisać? Może jest jakaś lepsza metoda na stworzenie menu? Chciałbym uniknąć pojedynczego wstawiania i koniecznie z SiteMap albo pliku XML skorzystać...


(Tomek Matz) #2

Użyj CSS.


(szydera_) #3

Myślałem o tym, ale dodałem atrybut CssClass do ikonki i nie wiem co dalej, jak zrobić żeby się zmieniała kiedy trzeba. Jakaś wskazówka może? :slight_smile:


(Tomek Matz) #4

Chciałem żebyś uzyskał np. taki efekt http://css.maxdesign.com.au/listutorial/master.htm#. Ale z tego co widzę nie ma możliwości przypisania klasy CSS do klasy MenuItem (a tym samym znacznika li).

Musisz to więc zrobić inaczej:

Web.sitemap

<?xml version="1.0" encoding="utf-8" ?>

Plik *.aspx

Orientation="Horizontal" onmenuitemdatabound="Menu1_MenuItemDataBound" >

Plik code behind dla *.aspx

protected void Menu1_MenuItemDataBound(object sender, MenuEventArgs e)

    {

        SiteMapNode mapNode = (SiteMapNode)e.Item.DataItem;

        if (!string.IsNullOrEmpty(mapNode["imageURL"]))

            e.Item.ImageUrl = mapNode["imageURL"];

    }

(szydera_) #5

Dzięki matzu, faktycznie podziałało w ten sposób. Niepotrzebnie się pchałem w te Template'y :slight_smile:


(Tomek Matz) #6

Nie ma za co.