Try with below steps:
Step1: Design XML menu with below data. Just add one extra node
Image
in xml:
<menus>
<menu image="images.png" url="~/Home.aspx" text="Home" value="Home Page" />
<menu image="images.png" url="javascript:;" text="Services" value="Services Page">
<submenu image="images.png" url="~/Consulting.aspx" text="Consulting" value="Consulting Page"></submenu>
<submenu image="images.png" url="~/Outsourcing.aspx" text="Outsourcing" value="Outsourcing Page"></submenu>
</menu>
<menu image="images.png" url="~/About.aspx" text="About" value="About Us Page" />
<menu image="images.png" url="~/Contact.aspx" text="Contact" value="Contact Us Page" />
</menus>
Step2: Design ASP menu to bind xml data and use
ImageUrlField
property which will refer to "Image" node value in xml:
<asp:menu id="Menu1" runat="server" orientation="Horizontal" datasourceid="XmlDataSource1" xmlns:asp="#unknown">
<levelmenuitemstyles>
<asp:menuitemstyle cssclass="main_menu" />
<asp:menuitemstyle cssclass="level_menu" />
</levelmenuitemstyles>
<staticselectedstyle cssclass="selected" />
<databindings>
<asp:menuitembinding imageurlfield="Image" datamember="Menu" textfield="Text" valuefield="Value" navigateurlfield="Url" />
<asp:menuitembinding datamember="SubMenu" textfield="Text" valuefield="Value" navigateurlfield="Url" />
</databindings>
</asp:menu>
<asp:xmldatasource id="XmlDataSource1" runat="server" datafile="~/Menus.xml" xpath="/Menus/Menu" xmlns:asp="#unknown"></asp:xmldatasource>