Decrease Font Size
Increase Font Size

ASP NET Horizontal Menu Control

ASP.NET menu control safari|

Problem displaying asp .net menu control in Google Chrome|

Breadcrumb (Sitemappath) Control|

ASP.NET Menu control|

Displaying Menu Control Horizontal With SubMenus|

ASP.NET Menu AccessKey|

ASP.NET Menu Target

Last Updated - 02/26/2010

  • Removed PathSeparator of SiteMapPath before the root node as suggested by The Code Project member, kentex2000.
  • Added SiteMap.CurrentNode != null to SiteMap_SiteMapResolve method.

Last Updated - 02/03/2010


A few weeks ago, I was working on an ASP.NET web application and need a simple horizontal menu with submenu. I decided to use ASP.NET Menu control, just drag and drop the control on to the page. Simple enough, but the control does not provide access key and target window support on menu item. I have put together a tutorial on how to:

  1. Include an access key attribute
  2. Include a target attribute
  3. Include a Site Map Path

Figure 1
Sample results


Getting Started

Here is the structure of my project. You are welcome to download this demo.

Figure 2
Project Structure

Putting everything together

First, add a Site Map to the website project. Open the web.sitemap file and populate it with your navigation data and structures. To underline certain character of the menu title, we can use the HTML underline tag (<u></u>). In order to parse the XML flawlessly we must replace the less than sign (<) with & lt; (no spaces). Then, include an accesskey and target attribute with a value to each siteMapNode. See below for example.

Site Map

Listing 1

      <siteMapNode url="Default.aspx" title="& lt;u>H& lt;/u>ome" description="Home" 
                   accesskey="H" />
      <siteMapNode url="~/Views/Menu1.aspx" title="<u>M</u>enu1"  
                   description="Menu1" accesskey="M" />
        <siteMapNode url="~/Views/Menu2.aspx" title="M<u>e</u>nu2" 
                     description="Menu2" accesskey="E" />
    <siteMapNode url="~/Views/Menu3.aspx" title="Me<u>n</u>u3" 
                 description="Menu3" accesskey="N" target="_blank" />
    <siteMapNode url="~/Views/Menu4.aspx" title="Men<u>u</u>4" 
                 description="Menu4" accesskey="U">
      <siteMapNode url="~/Views/Menu4Sub1.aspx" title="Menu4<u>S</u>ub1" 
                   accesskey="S" />
      <siteMapNode url="~/Views/Menu4Sub2.aspx" title="Menu4Su<u>b</u>2" 
                   target="_blank" accesskey="B" />

Master Page

Add a Master Page to the website project. Drag a SiteMapDataSource control on to the page and then the menu control and wrap the menu control inside a div tag. The details description of each menu property can be found on Menu Properties Menu Properties. Set the staticdisplaylevels ="2" and orientation="Horizontal" to display the menu control in horizontal mode. We can use an inline style sheets or place the CSS style in an external file. In this tutorial, the CSS style is located in style.css file. See listing 2.

Listing 2

<asp:SiteMapDataSource id="MenuSource" runat="server" />
<div class="background">
  <asp:menu id="NavigationMenu" CssClass="NavigationMenu"  
        staticdisplaylevels="2" DynamicHorizontalOffset="1"
        staticsubmenuindent="1px" MaximumDynamicDisplayLevels="4"
        runat="server" Height="30px">

        <staticmenuitemstyle ItemSpacing="10" CssClass="staticMenuItemStyle"/>
        <statichoverstyle CssClass="staticHoverStyle" />
       <StaticSelectedStyle CssClass="staticMenuItemSelectedStyle"/> 
        <DynamicMenuItemStyle CssClass="dynamicMenuItemStyle" />      
        <dynamichoverstyle CssClass="menuItemMouseOver" />
        <DynamicMenuStyle CssClass="menuItem" />
       <DynamicSelectedStyle CssClass="menuItemSelected" />
             <asp:MenuItemBinding DataMember="siteMapNode" 
                    NavigateUrlField="url" TextField="title"  
                    ToolTipField="description" />


Drag a SiteMapPath control on to the page. The purpose of this control is to display navigation path that shows the user the current page location. See listing 3.

Listing 3

<div id="e">
       <asp:SiteMapPath ID="SiteMapPath1" runat="server" 
            PathSeparator=" >> ">
            <PathSeparatorStyle ForeColor="#5D7B9D" CssClass="currentNodeStyle" />
            <CurrentNodeStyle ForeColor="#333333" CssClass="currentNodeStyle" />
            <NodeStyle ForeColor="#7C6F57"  CssClass="currentNodeStyle"  />
            <RootNodeStyle  ForeColor="#5D7B9D" CssClass="currentNodeStyle"  />

Master Page code behind

In the Master Page code behind, include a MenuItemDataBound and SiteMapResolve event handlers on to the Page_Load event. The purpose of the former event is to insert the target attribute value and create access key for the menu item before it is rendered or displayed in a Menu control. The latter event is to modify the text displayed by the SiteMapPath control.

Listing 4

NavigationMenu.MenuItemDataBound += new MenuEventHandler(NavigationMenu_MenuItemDataBound);
SiteMap.SiteMapResolve += new SiteMapResolveEventHandler(SiteMap_SiteMapResolve);

Below is the implementation of the NavigationMenu_MenuItemDataBound method. The MenuItemDataBound event occurs when a menu item in a Menu control is bound to data. That being said, it will loop through each siteMapNode and look for the accesskey and target attribute. There is a target property associated with the menu item and we can set its target window with the target attribute value. See listing 5.

Listing 5

void NavigationMenu_MenuItemDataBound(object sender, MenuEventArgs e)
        SiteMapNode node = (SiteMapNode)e.Item.DataItem;
        //set the target of the navigation menu item (blank, self, etc...)
        if (node["target"] != null)
            e.Item.Target = node["target"];
        //create access key button
        if (node["accesskey"] != null)
            CreateAccessKeyButton(node["accesskey"] as string, node.Url);

To get the access key to work, add a Panel control on to the master page and a JavaScript function to redirect the webpage to the one that is specified. See below.

Listing 6

<asp:Panel ID="AccessKeyPanel" runat="server" />
<script type="text/javascript">
 function navigateTo(url) {
    window.location = url;

Below is the implementation of the CreateAccessKeyButton method. Create an HtmlButton control dynamically and attach an onclick event to it. Set the style.left property to -2555px to hide the control. A complete list of access key in different browsers is available here.

Listing 7

//create access key button
    void CreateAccessKeyButton(string ak, string url)
        HtmlButton inputBtn = new HtmlButton();
        inputBtn.Style.Add("width", "1px");
        inputBtn.Style.Add("height", "1px");
        inputBtn.Style.Add("position", "absolute");
        inputBtn.Style.Add("left", "-2555px");
        inputBtn.Style.Add("z-index", "-1");
        inputBtn.Attributes.Add("type", "button");
        inputBtn.Attributes.Add("value", "");
        inputBtn.Attributes.Add("accesskey", ak);
        inputBtn.Attributes.Add("onclick", "navigateTo('" + url + "');");


The SiteMap.SiteMapResolve event get trigger when the CurrentNode property is accessed. It will call the ReplaceNodeText method recursively and replace the HTML underline tag. See listing 8.

Listing 8

SiteMapNode SiteMap_SiteMapResolve(object sender, SiteMapResolveEventArgs e)
        if (SiteMap.CurrentNode != null)
            SiteMapNode currentNode = SiteMap.CurrentNode.Clone(true);
            SiteMapNode tempNode = currentNode;
            tempNode = ReplaceNodeText(tempNode);

            return currentNode;
        return null;

    //remove <u></u> tag recursively
    internal SiteMapNode ReplaceNodeText(SiteMapNode smn)
        //current node
        if (smn != null && smn.Title.Contains("<u>"))
            smn.Title = smn.Title.Replace("<u>", "").Replace("</u>", "");

        //parent node
        if (smn.ParentNode != null)
            if (smn.ParentNode.Title.Contains("<u>"))
                SiteMapNode gpn = smn.ParentNode;
                smn.ParentNode.Title = smn.ParentNode.Title.Replace("<u>", "").Replace("</u>", "");
                smn = ReplaceNodeText(gpn);
        return smn;

Using the Code

Since the menu is in the master page, right click the website project, add new item, Web Form and check the Select Master Page checkbox.

Points of Interest

The hover menu appears to not working on mobile devices. To remedy this problem, I include a TreeView control and set its visible property to false. This control expands its entire node by default. That will take care of the mentioned problem. In the code behind, hide the Menu control and show the TreeView control if requesting browser is a mobile device. See listing 9.

Listing 9

protected void Page_Load(object sender, EventArgs e)
	if (Request.Browser.IsMobileDevice)
            NavigationMenu.Visible = false;
            NavigationTreeView.Visible = true;

When I tested the menu on IE 8, the hover menu did not render correctly. To overcome this problem, I set the DynamicMenuStyle z-index to 200, see style.css. The submenu is also not working with Google Chrome. After some research, I found the solution for it. See listing 10.

Listing 10

protected void Page_Load(object sender, EventArgs e)
	if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
            NavigationMenu.DynamicMenuStyle.Width = Unit.Pixel(120);

New Update

I have received several complaints from the reader concerning the menu control not displaying correctly on Safari and Google Chrome browsers. Somehow the menu items are stacked on each other and the submenu widths are gapped apart. After doing some research, I found the answer here, see listing 11. To fix the submenu width, remove the display:block from the dynamicMenuItemStyle in the css file.

Listing 11

protected override void AddedControl(Control control, int index)
        if (Request.ServerVariables["http_user_agent"].IndexOf("Safari", StringComparison.CurrentCultureIgnoreCase) != -1)
            this.Page.ClientTarget = "uplevel";

        base.AddedControl(control, index);

I also rewrite the logic to detect mobiles browser with the code from Vincent Van Zyl. See listing 12.

Listing 12

    public static readonly string[] mobiles =
                    "midp", "j2me", "avant", "docomo", 
                    "novarra", "palmos", "palmsource", 
                    "240x320", "opwv", "chtml",
                    "pda", "windows ce", "mmp/", 
                    "blackberry", "mib/", "symbian", 
                    "wireless", "nokia", "hand", "mobi",
                    "phone", "cdm", "up.b", "audio", 
                    "SIE-", "SEC-", "samsung", "HTC", 
                    "mot-", "mitsu", "sagem", "sony"
                    , "alcatel", "lg", "eric", "vx", 
                    "NEC", "philips", "mmm", "xx", 
                    "panasonic", "sharp", "wap", "sch",
                    "rover", "pocket", "benq", "java", 
                    "pt", "pg", "vox", "amoi", 
                    "bird", "compal", "kg", "voda",
                    "sany", "kdd", "dbt", "sendo", 
                    "sgh", "gradi", "jb", "dddi", 
                    "moto", "iphone"

    public static bool isMobileBrowser()
        HttpContext context = HttpContext.Current;

        if (context.Request.Browser.IsMobileDevice)
            return true;
        if (context.Request.ServerVariables["HTTP_X_WAP_PROFILE"] != null)
            return true;
        if (context.Request.ServerVariables["HTTP_ACCEPT"] != null &&
            return true;
        if (context.Request.ServerVariables["HTTP_USER_AGENT"] != null)
            for (int i = 0; i < mobiles.Length; i++)
                if (context.Request.ServerVariables["HTTP_USER_AGENT"].
                    return true;

        return false;

Add the code shown below in the Page_Load event.

Listing 13

if (isMobileBrowser())
            NavigationMenu.Visible = false;
            NavigationTreeView.Visible = true;


If you find any bugs or disagree with the contents, please drop me a line and I'll work with you to correct it.

Tested on IE 6.0/7.0/8.0, Google Chrome, Firefox, Safari

IE, Firefox, Google Chrome, Safari


  • 02/03/2010 - Fixed the Menu display problem in Safari and Google Chrome browsers, added new logic to detect mobiles browser


Access in different Browsers
ASP.NET Menu Control Cannot Work in Google Chrome browser and Apple Safari browser
Detecting a mobile browser in ASP.NET
IE8 and the ASP.NET Menu control
Menu Properties
Menu..::.MenuItemDataBound Event
Problem displaying asp .net menu control in Google Chrome
SiteMap..::.SiteMapResolve Event

Watch this script in action




Comments (118) -

  • SEO Surrey

    9/19/2009 1:49:59 PM |

    Horizontal menu tool is something new to me and may need some time to get to used too.

  • Digital SLR Cameras

    9/23/2009 4:54:58 PM |

    It's new to me. Still i haven't try it but after reading this post, i have decided to try it.

  • Learn And Master Guitar

    9/28/2009 11:14:51 AM |

    Great new direction. Crisp, clean, refreshing.

  • garden d�cor

    10/5/2009 3:12:07 PM |

    Hey saw your post today bryian & I must say you have done a great job in understanding the basics of this topic & working on the updates. I am looking forward to more articles from you on the same topic.

  • Gold coast holiday apartments

    10/9/2009 11:08:53 PM |

    Thanks in advance and thanks tremendously for being so generous. Alot of people sell these things online. Nice to see people giving them away. Google’s known for being free.

  • Web Developer

    10/13/2009 8:48:35 AM |

    Nice way to implement access key support. And thanks for putting up the demo and source code as its easy for someone to straight away use it in their projects.

  • Voytek - Elegant Portfolios for Crative People

    10/13/2009 2:20:06 PM |

    This is a interesting article. I myself use CSS Friendly Control Adapters. They are not perfect but at least give me some control over menu style. Don't care much about access keys but I'm going to use Listing 5.

  • Steve Costello

    10/14/2009 8:25:59 PM |

    I'll have to agree with @John Katsiotis. The .net Menu control is probably fine for something like prototyping, but past that, I wouldn't use it. The biggest problem with it is that it renders HTML tables. Getting past the whole "OMG, don't use tables for layout" argument, using tables for a menu truly is not syntactical. Using unordered lists has long been shown to be the best way to render menus, especially menus that are hierarchical in nature. There are several options out there, including the one John mentions. The Telerik Menu control is also quite nice (using it in a project right now, in fact), however, it is not free like the CSS Friendly Control Adapter set is.

  • Chester

    10/14/2009 10:57:58 PM | 2.0 menu control is no longer working in IE 8.

  • Swarovski perlen

    10/15/2009 6:15:31 PM |

    Admiring the time and effort you put into your blog and detailed information you offer!

  • bryian

    10/16/2009 7:24:37 PM |


    I have tested this menu on IE 8 and it work fine.

    Steve & John ,

    I'll definitely try out the CSS adapter the next time.

    Bryian Tan

  • australian pr

    10/21/2009 8:48:06 PM |

    Forwarded this to some friends, appreciate your advice

  • Reverse Osmosis Water

    10/22/2009 3:37:19 AM |

    Thanks for sharing the tutorial with us. It is very detailed, and the horizontal menu control will definitely come in handy. Appreciate your effort. Thanks.

  • Ashish Kalmegh

    10/23/2009 11:53:52 AM |

    Its better to have a horizontal menu rather than having a vertical menu . As its looks more professional and user friendly .

    I will surely use your way . Thanks

  • Florida Detox

    10/25/2009 8:40:38 AM |

    This is such a great resource that you are providing and you give it away for free!! bryian I enjoy seeing websites that understand the value of providing a prime resource for free. I truly loved reading your post. Thanks!

  • amazon tours

    10/29/2009 9:39:55 PM |

    Awesome post! Interesting info to know.

  • sikat ang pinoy

    10/31/2009 4:56:44 PM |

    I found your blog on Google and read a few of your other posts. I just added you to my Google News Reader. Keep up the good work. Look forward to reading more from you in the future.

  • SEO

    11/2/2009 5:30:00 AM |

    Excellent post.I want to thank you for this informative read, I really appreciate sharing this great post. Keep up your work…

  • renantech

    11/4/2009 10:09:30 AM |

    I like powered by it is good for blog commenting it bring huge of backlinks and traffic.

  • business opportunities from home

    11/6/2009 11:18:33 PM |

    I’m impressed, you know what you’re talking about

  • golf cart accessories

    11/7/2009 1:31:04 AM |

    Hey hi bryian I am a fellow blogger in the same area of study as your's. Where do you update your information about these features from? Any study material or website you would recommend?

  • mens diamond rings

    11/7/2009 2:55:17 AM |

    Hi bryian, Me & my fellow classmates use your blogs as our reference materials. We look out for more interesting posts from your end about the same topic . Even the future updates about this topic would be of great help.

  • Apex Professionals

    11/7/2009 9:34:42 AM |

    This is a cool screen idea ! It is very interesting indeed.Thank you for your info.i love to read all info.This article gives the light in which we can observe the reality.

  • web hosting coupons

    11/8/2009 4:16:09 PM |

    I Think this is really a great and very technical post for most of the interested people and i like it very much because i think this can be very beneficial for all of us. I am really impressed to know about that.
    So i hope you will share some thing very interesting in the near upcoming future. Thanks for your support.

  • solar hot water

    11/8/2009 9:15:26 PM |

    Don’t stop blogging! It’s nice to read a sane commentary for once

  • renantech

    11/9/2009 3:33:22 AM |

    I like blogengine because it is an open source .net blogging project and made to desire a better blog platform. Godaddy was able to provide this services.

  • make money online

    11/9/2009 9:58:43 PM |

    Intimately, the post is in reality the greatest on this worthy topic. I fit in with your conclusions and will thirstily look forward to your coming updates. Just saying thanks will not just be adequate, for the extraordinary clarity in your writing. I will immediately grab your rss feed to stay abreast of any updates. Authentic work and much success in your business efforts!

  • brisbane airport car rental

    11/10/2009 2:09:50 AM |

    Really appreciate this post. It’s hard to sort the good from the bad sometimes, but I think you’ve nailed it!

  • project management software

    11/11/2009 3:43:11 AM |

    Thanks , It will really help me . i was looking got menu solution for my project  and now  i found it, Many Thanks


  • Blister Packaging

    11/11/2009 2:02:18 PM |

    Appreciate the tutorial! Learning about the horizontal menu control will definitely be useful for me. Thanks for sharing.

  • utah toyota dealer

    11/12/2009 2:46:59 AM |

    Great work buddy, keep it up

  • dstarlight

    11/12/2009 4:17:43 AM |

    an interesting ... Smile

    Still Learning
    Ace dstarlight

  • pabx panasonic

    11/15/2009 6:01:24 AM |

    very nice thank's Smile

  • Boca Raton SEO

    11/16/2009 12:53:53 PM |

    Nice Article, keep on the good work!

  • antivirus firewall

    11/16/2009 1:41:02 PM |

    Great post, very informative, thank you for sharing!

  • peninggi badan

    11/16/2009 8:55:30 PM |

    I was very impressed with your tutorial ...
    bit complicated but very detailed ...
    you are a professional ..
    I would love to learn with you ...
    great article ...

  • send valentines cards

    11/17/2009 10:52:54 AM |

    A really interesting blog, and  --as I'm a non techy girl --lots of funny gravatars. Useful Information, thanks to the author

  • abu dhabi property for sale

    11/18/2009 8:59:45 AM |

    It was another joy to see your post. Really useful Post. You have complete command in your field, Great stuff as usual.

  • Life insurance

    11/19/2009 5:58:53 AM |

    I’m impressed, you know what you’re talking about....

  • designer rugs

    11/24/2009 4:13:18 PM |

    great post thanks dear you are true blogger.

  • Online SEO services

    11/26/2009 8:18:58 PM |

    Great info.I like all your post.I will keep visiting this blog very often.It is good to see you verbalise from the heart and your clarity on this important subject can be easily observed..We Provide you the best Online SEO Services with high quality.

  • designer rugs

    11/26/2009 8:34:46 PM |

    wish I had found this blog before today. The advices in this posts are very helpful and I surely will read the other posts of this series too.Thank you for posting this. Your Blog is Bookmarked

  • batu permata

    11/29/2009 6:57:52 PM |

    I am flattered by your article
    I hope we can exchange ideas and thoughts, so the best

  • SEO

    12/2/2009 2:36:59 AM |

    Nice job, it’s a great post. The info is good to know!

  • asian single

    12/3/2009 8:33:00 AM |


    Great post, I look forward to reading more.

  • japan

    12/4/2009 3:37:45 PM |


    Why didn’t I find this post earlier? Keep up the good work!

  • Ways to make extra money

    12/5/2009 12:44:41 PM |

    You want to know how to earn extra money in easy way? 5 minutes only and you will earn more than $50 with no cost and hassle free...

  • Webthesurfi Rugs Webdesign

    12/5/2009 12:45:17 PM |

    very entertaining and informative blog. Ill be back..

  • Watch Pacquiao Vs Clottey Live

    12/5/2009 2:05:05 PM |

    your blog is very imformative and i learn a lot from it.
    Thanks for sharing.



  • Webthesurfi Rugs Webdesign

    12/5/2009 2:07:56 PM |

    very entertaining and informative blog. Ill be back..

  • free tattoo ideas

    12/9/2009 6:23:59 PM |

    You are very talented writer, keep us posting

  • betting odds

    12/11/2009 9:03:02 AM |


    Great blog ,thanks

  • alat kantor

    12/14/2009 6:40:25 AM |

    very nice post Smile

  • web design in Dubai

    12/19/2009 12:01:09 PM |

    Resources like the one you mentioned here is very useful! I will post a link to this page on my blog. I am sure my visitors will find that very useful.

  • creative gigaworks t40 2.0 review

    12/22/2009 5:26:41 PM |

    I love your site, it's not often you see people posting about horizontal menu control.

  • creative gigaworks t40 2.0 review

    12/23/2009 2:37:03 AM |

    This is informative, post more soon!

  • travel guide online

    12/24/2009 9:27:15 AM |

    It's nothing worth laughing or crying about.

  • Richard

    12/25/2009 12:31:36 PM |

    Interesting post about horizontal menu knocked that on out of the park: )

  • iphone 3gs replacement parts

    12/27/2009 4:59:42 AM |

    Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with more information? It is extremely helpful for me._

  • Patio Misting Systems

    12/27/2009 9:24:00 AM |

    I'm learning So this information is useful to me. I want vertical menu control also.
    Thanks for sharing

  • QuinnCom Web Design

    12/29/2009 6:46:27 AM |

    Awesome stuff you guys got here.  I really like the theme of the website and how well you organized the content.  It's a marvelous job I will come back and check you out sometime.

  • creative gigaworks t40 2.0 review

    12/30/2009 8:56:13 AM |

    I love your site, it's not often you see people writing about horizontal menu control.

  • Dubai SEO Services

    1/1/2010 9:33:06 PM |

    I was struggling with the issue of Horizontal Menu Control in  ASP NET but luckily i stumble upon your post and it guided me well to tackle the issue. Keep on helping like this.

  • Himanshu

    1/3/2010 9:23:01 AM |

    The above menu control is not working in Opera and Safari.

  • complementary health centre

    1/6/2010 6:29:58 AM |

    This article gives the light in which we can observe the reality. this is very nice one and gives in depth information.

  • Steve

    1/6/2010 9:37:55 PM |

    I should really be working

  • bryian

    1/10/2010 2:56:03 PM |


    I haven't tested the Menu on Opera, it works fine on Safari 4.0.4 browser.

    Bryian Tan

  • sonnerie portable

    1/11/2010 1:45:45 AM |

    Wow! Thank you! I always wanted to write in my site something like that. Can I take part of your post to my blog?

  • vesti srbija

    1/11/2010 5:42:10 AM |

    I’m impressed. You're very well versed. you know what you’re talking about.

  • play golf game online

    1/11/2010 10:56:00 AM |

    Good content has a great following of readers,
    What a super blog!

  • henry hoover

    1/12/2010 5:48:09 PM |

    I just wanted to let you know that your blog does not show up properly on the blckberry browser, I added it to my bookmarks and have just checked from the desktop, nice layout but a shame its not portable.

  • freelance developer

    1/14/2010 10:42:25 PM |

    Where can I find more info on this thread?

  • best fake tan

    1/15/2010 7:31:25 PM |

    Thanks for this, been looking for this info for a while!

  • Lida

    1/16/2010 12:52:09 AM |

    Good on your log

  • SEO Services

    1/17/2010 3:55:47 PM |

    Thanks for sharing

  • Adalah Multiple Search Engine Popular

    1/18/2010 10:29:20 AM |

    wow, that great menu, i like it

  • interest rates calculator

    1/18/2010 6:43:32 PM |

    Hi everyone! I would love to see a fair discussion on the subject. Keep up the good workSmile

  • chase auto loan

    1/18/2010 6:54:24 PM |

    Hi all, you made fantastic nice points here. I performed a search on the issue and discovered almost all peoples will agree with your blog.keep it up moreSmile

  • construction games

    1/19/2010 2:04:25 AM |

    Bryian, I want thank you very much for posting and sharing this great article. It is so interesting. I like to know some other information about this site. So please give me this news quickly. Thanks again Smile

  • Fe Weingard

    1/19/2010 3:04:50 PM |

    Thanks for the demo enabling us to Watch the script in action. Very interesting, but I think I have to investigate in the listing ....

  • pr jobs

    1/20/2010 11:50:36 AM |

    Really great step by step

  • Kyle

    2/5/2010 8:51:37 AM |

    Love your blog I'm going to subscribe. Wooo, Pig Sooie.

  • banjarmasin

    2/25/2010 8:02:28 PM |

    thanks about your post. very gud.

  • Joomla Web Design

    3/18/2010 12:20:49 PM |

    Thanks for this blog post.

  • excellent

    3/22/2010 11:08:38 AM |

    Starting to understand a bit more now... Thanks for keeping it simple!

  • dave

    3/28/2010 3:13:04 PM |

    I really like your blog about horizontal menu control Smile  This is my second visit to your site and I think I might just have to subscribe, thanks for posting about horizontal menu control . Peace.

  • lirik lagu

    4/18/2010 5:35:25 AM |

    thanks for sharing..nice post

  • michetela

    5/20/2010 2:46:14 PM |

    This was an excellent article. I really enjoyed it.

  • azziewed

    5/25/2010 9:09:32 AM |

    well done, keep up the great work..

  • jason

    6/16/2010 7:46:40 PM |

    this was one of your better posts

  • joey

    6/19/2010 6:23:30 AM |

    your blo has a ton of great information

  • Electronic Circuit

    6/19/2010 1:24:51 PM |

    then it is very competent with the discussions that you provide. proof you can explain everything clearly and easily understood

  • Anne Richards

    6/20/2010 5:40:26 AM |

    I read there will be a CSS extension that deals with a lot of this. Even heard a whisper of CSS 2 though what that can be is anyones gues (XCSS? who knws)

  • tom

    6/23/2010 7:11:49 AM |

    Great Article - we have been hopefully planning to notice much better things happening locally soon

  • lifenmusic

    7/21/2010 11:24:44 AM |

    Tanks for the info

  • Darts

    9/5/2010 8:43:57 PM |

    Nice example! But a lot of times people use tree menus when they're not really needed. So you have to search through a hierarchy of menus when things could be simplified.

  • Trasloco

    9/25/2010 12:25:19 AM |

    You made some good points here. I did a search on the topic and found most people agree with your blog. Thanks

  • Vintage Engagement Rings

    10/29/2010 10:09:20 PM |

    Thanks for posting!

  • Top Acoustic Guitars

    11/1/2010 6:22:09 PM |

    Good explanation. ASP is new to me and I'll try out this method. Many thanks.

  • Gap Insurance

    11/4/2010 3:44:05 PM |

    Works brilliantly in Chrome.

  • Waterproof Camera

    11/4/2010 7:30:22 PM |

    Awesome article, thanks for posting it up

  • Internasional Mesothelioma

    11/8/2010 8:44:00 PM |

    Cool what an awesome post. Thks.

  • 11/9/2010 3:22:58 AM |

    great tutorial.... now i can build a nice detailed menu...

  • veterinary

    11/9/2010 11:25:40 PM |

    Thanks in advance and thanks tremendously for being so generous. Alot of people sell these things online. Nice to see people giving them away. Google’s known for being free.

  • Rob

    11/10/2010 4:28:17 PM |

    Thanks so much for this, agree with Darts too. A lot of times we don't need to employ tree menus and they just muddle things up!

  • Aghoo

    11/16/2010 10:05:14 AM |

    Thank you for another essential article. Where else could anyone get that kind of information in such a complete way of writing? I have a presentation incoming week, and I am on the lookout for such information.

  • Michelle elbaz

    11/23/2010 12:39:23 PM |

    You made some good points here. I did a search on the topic and found most people agree with your blog. Thanks

  • john

    11/25/2010 1:01:31 AM |

    i will use Horizontal Menu Control for my website thanks for tutorial.

  • Provillus

    11/29/2010 5:03:22 PM |

    The .net Menu control is probably fine for something like prototyping, but past that, I wouldn't use it. The biggest problem with it is that it renders HTML tables. Getting past the whole "OMG, don't use tables for layout" argument, using tables for a menu truly is not syntactical

  • chord

    12/3/2010 11:27:37 PM |

    nice post, thanks for sharing

  • Popular Videos

    12/10/2010 9:52:57 AM |

    ASP is new to me and I'll try out this method. Many thanks.


    12/20/2010 4:27:18 PM |

    Menu looks banging, got my self a project for the weekend.

  • Gouden tientje

    12/25/2010 1:21:30 AM |

    I liked your article because it clears many good points.

  • droll yankee bird feeders

    12/25/2010 7:27:22 AM |

    Cool what an amazing post.keep up the good work

  • Youtube

    12/28/2010 11:22:05 PM |

    Starting to understand a bit more now... Thanks for keeping it simple!

  • hair loss cure

    1/9/2011 9:47:40 PM |


  • Escort amsterdam

    2/3/2011 6:09:08 AM |

    Yes very nice!

Pingbacks and trackbacks (5)+

Add comment