Ah, different styles for different menu items. You can hack this via the MenuItemDataBound event; not the most elegant solution, but it works:
public void MyMenu_MenuItemDataBound(object sender, MenuEventArgs e)
{
SiteMapNode n = e.Item.DataItem as SiteMapNode;
string content = string.format("<div class='{0}'>{0}</div>", n.Title);
e.Item.Text = content;
}
This gets the SiteMapNode associated with this menu item and uses the Title for the CSS Class name on a div; this div is then set as the text for the menu. This means each div would have a separate class. An alternative would be do add a custom attribute to the siteMapNode element and use that as the class:
<siteMapNode title="..." url="..." class="myclass" />
The event can then extract this:
public void MyMenu_MenuItemDataBound(object sender, MenuEventArgs e)
{
SiteMapNode n = e.Item.DataItem as SiteMapNode;
string content = string.format("<div class='{0}'>{1}</div>", n["class"], n.Title);
e.Item.Text = content;
}
You might want to do null checks to make sure the attribute is present.