There are many approaches that you can follow like menu contol in asp.net or by using any third party control,
but the one that I prefer for my works is to create it by myself.
Lets see it the seneario (I do not have your database structure so I use a new one)
Suppose you have table like below with the columns as specified
Category<br />
1. CategoryID INT - PrimaryKey + Identity<br />
2. CategoryName VARCHAR(150)<br />
<br />
Now the main thing is the Menu which you want to be done
Take a user Control Categories.ascx
Add a Datalist Control set its id = dlCategory, put a label control in its itemtemplate, it should look like this :
<asp:DataList ID="DLCategory" runat="server"
RepeatColumns="1" RepeatDirection="Horizontal">
<ItemTemplate>
<a href="Category.aspx?Cid=<%#Eval(CategoryID) %>"><asp:Label ID="Label1" runat="server"
Text='<%# Eval("CategoryName") %>'></asp:Label></a>
</ItemTemplate>
</asp:DataList>
play with the RepeatDirection and RepeatColumns you will get an idea, write a css for styling the template as you want it to display.
Anchor tag in datalist will redirect user to category.aspx page with the querystring cid which identifies, which category was clicked
Now in the code view add the following code in the pageload event
DataSet ds = new DataSet();
SqlConnection con = new SqlConnection("Pass your Connection string here");
SqlDataAdapter da = new SqlDataAdapter("select * from Category", con);
da.Fill(ds);
dlCategory.DataSource = ds;
dlCategory.DataBind();
you are all ready...
Hope it helps, in case of any confusion leave a comment...
use the visual studio intellisense for any typing mistake in code...
Enjoy !!! :)