Decrease Font Size
Increase Font Size
   BLOG

ASP NET Horizontal Menu Control

by bryian 14. December 2009 18:18

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

Introduction

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>
      <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" 
                   description="Menu4Sub1" 
                   accesskey="S" />
      <siteMapNode url="~/Views/Menu4Sub2.aspx" title="Menu4Su<u>b</u>2" 
                   description="Menu4Sub2" 
                   target="_blank" accesskey="B" />
    </siteMapNode>
……
….
  </siteMapNode>
</siteMap>

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"
        orientation="Horizontal"   
        DynamicPopOutImageUrl="~/Images/right-arrow.gif" 
        StaticPopOutImageUrl="~/Images/drop-arrow.gif"
        datasourceid="MenuSource"    
        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" />
     
       <DataBindings>        
             <asp:MenuItemBinding DataMember="siteMapNode" 
                    NavigateUrlField="url" TextField="title"  
                    ToolTipField="description" />
        </DataBindings>

      </asp:menu>
</div>

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" 
                RenderCurrentNodeAsLink="true" 
                CssClass="currentNodeStyle"
            PathSeparator=" >> ">
            <PathSeparatorStyle ForeColor="#5D7B9D" CssClass="currentNodeStyle" />
            <CurrentNodeStyle ForeColor="#333333" CssClass="currentNodeStyle" />
            <NodeStyle ForeColor="#7C6F57"  CssClass="currentNodeStyle"  />
            <RootNodeStyle  ForeColor="#5D7B9D" CssClass="currentNodeStyle"  />
    </asp:SiteMapPath> 
</div>  

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;
 }
</script>

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 + "');");

        AccessKeyPanel.Controls.Add(inputBtn);
    }

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)
        {
            Request.Browser.Adapters.Clear();
            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 =
          new[]
                {
                    "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()
    {
        //GETS THE CURRENT USER CONTEXT
        HttpContext context = HttpContext.Current;

        //FIRST TRY BUILT IN ASP.NT CHECK
        if (context.Request.Browser.IsMobileDevice)
        {
            return true;
        }
        //THEN TRY CHECKING FOR THE HTTP_X_WAP_PROFILE HEADER
        if (context.Request.ServerVariables["HTTP_X_WAP_PROFILE"] != null)
        {
            return true;
        }
        //THEN TRY CHECKING THAT HTTP_ACCEPT EXISTS AND CONTAINS WAP
        if (context.Request.ServerVariables["HTTP_ACCEPT"] != null &&
            context.Request.ServerVariables["HTTP_ACCEPT"].ToLower().Contains("wap"))
        {
            return true;
        }
        //AND FINALLY CHECK THE HTTP_USER_AGENT 
        //HEADER VARIABLE FOR ANY ONE OF THE FOLLOWING
        if (context.Request.ServerVariables["HTTP_USER_AGENT"] != null)
        {
            for (int i = 0; i < mobiles.Length; i++)
            {
                if (context.Request.ServerVariables["HTTP_USER_AGENT"].
                                                    ToLower().Contains(mobiles[i].ToLower()))
                {
                    return true;
                }
            }
        }

        return false;
    }

Add the code shown below in the Page_Load event.

Listing 13

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

Conclusion

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

History

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

Resources

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

Demo

Downloads

Download

Comments (118) -

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

SEO Surrey

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

SEO Surrey United States

9/21/2009 3:22:44 PM #

John Katsiotis

Check CSS Friendly Control Adapters http://www.codeplex.com/cssfriendly

It's the same thing but more easy to implement. ;)

John Katsiotis Greece

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

Digital SLR Cameras

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

Digital SLR Cameras United States

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

Learn And Master Guitar

Great new direction. Crisp, clean, refreshing.

Learn And Master Guitar United States

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

garden d�cor

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.

garden d�cor United States

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

Gold coast holiday apartments

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.

Gold coast holiday apartments United States

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

Web Developer

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.

Web Developer United Kingdom

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

Voytek - Elegant Portfolios for Crative People

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.

Voytek - Elegant Portfolios for Crative People United States

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

Steve Costello

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.

Steve Costello United States

10/14/2009 10:57:58 PM #

Chester

Asp.net 2.0 menu control is no longer working in IE 8.

Chester Canada

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

Swarovski perlen

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

Swarovski perlen United States

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

bryian

Chester,

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.

Thanks,
Bryian Tan

bryian United States

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

australian pr

Forwarded this to some friends, appreciate your advice

australian pr India

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

Reverse Osmosis Water

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.

Reverse Osmosis Water United States

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

Ashish Kalmegh

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

Ashish Kalmegh India

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

Florida Detox

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!

Florida Detox United States

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

amazon tours

Awesome post! Interesting info to know.

amazon tours India

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

sikat ang pinoy

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.

sikat ang pinoy United States

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

SEO

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

SEO United States

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

renantech

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

renantech United States

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

business opportunities from home

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

business opportunities from home United Kingdom

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

golf cart accessories

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?

golf cart accessories United States

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

mens diamond rings

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.

mens diamond rings United States

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

Apex Professionals

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.

Apex Professionals United States

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

web hosting coupons

Hi,
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.

web hosting coupons United States

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

solar hot water

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

solar hot water United States

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

renantech

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.

renantech United States

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

make money online

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!

make money online United States

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

brisbane airport car rental

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

brisbane airport car rental United States

11/11/2009 3:43:11 AM #

project management software

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

David

project management software United States

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

Blister Packaging

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

Blister Packaging United States

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

utah toyota dealer

Great work buddy, keep it up

utah toyota dealer India

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

dstarlight

an interesting ... Smile


Still Learning
Ace dstarlight

dstarlight Indonesia

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

pabx panasonic

very nice thank's Smile

pabx panasonic Indonesia

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

Boca Raton SEO

Nice Article, keep on the good work!

Boca Raton SEO Iceland

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

antivirus firewall

Great post, very informative, thank you for sharing!

antivirus firewall United States

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

peninggi badan

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 ...

peninggi badan Indonesia

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

send valentines cards

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

send valentines cards United Kingdom

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

abu dhabi property for sale

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

abu dhabi property for sale U.A.E.

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

Life insurance

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

Life insurance United States

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

designer rugs

great post thanks dear you are true blogger.

designer rugs United States

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

Online SEO services

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.

Online SEO services India

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

designer rugs

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

designer rugs United States

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

batu permata

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

batu permata Indonesia

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

SEO

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

SEO United States

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

asian single

Hi,


Great post, I look forward to reading more.

asian single United States

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

japan

Hi,

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

japan United States

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

Ways to make extra money

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...

Ways to make extra money United States

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

Webthesurfi Rugs Webdesign

very entertaining and informative blog. Ill be back..

Webthesurfi Rugs Webdesign United States

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

Watch Pacquiao Vs Clottey Live

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

regards,

rosela

Watch Pacquiao Vs Clottey Live United States

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

Webthesurfi Rugs Webdesign

very entertaining and informative blog. Ill be back..

Webthesurfi Rugs Webdesign United States

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

free tattoo ideas

You are very talented writer, keep us posting

free tattoo ideas Poland

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

 betting odds

Hi,


Great blog ,thanks

betting odds United States

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

alat kantor

very nice post Smile

alat kantor Indonesia

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

web design in Dubai

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.

web design in Dubai U.A.E.

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

creative gigaworks t40 2.0 review

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

creative gigaworks t40 2.0 review Japan

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

creative gigaworks t40 2.0 review

This is informative, post more soon!

creative gigaworks t40 2.0 review Maldives

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

travel guide online

It's nothing worth laughing or crying about.

travel guide online United Kingdom

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

Richard

Interesting post about asp.net horizontal menu control...you knocked that on out of the park: )

Richard Russia

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

iphone 3gs replacement parts

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._

iphone 3gs replacement parts United States

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

Patio Misting Systems

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

Patio Misting Systems United States

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

QuinnCom Web Design

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.

QuinnCom Web Design United States

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

creative gigaworks t40 2.0 review

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

creative gigaworks t40 2.0 review Greenland

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

Dubai SEO Services

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.

Dubai SEO Services U.A.E.

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

Himanshu

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

Himanshu India

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

complementary health centre

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

complementary health centre United States

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

Steve

I should really be working

Steve Uzbekistan

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

bryian

Himanshu,

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


Thanks,
Bryian Tan

bryian United States

1/11/2010 1:45:45 AM #

 sonnerie portable

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

sonnerie portable United States

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

vesti srbija

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

vesti srbija Bosnia and Herzegovina

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

play golf game online

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

play golf game online Costa Rica

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

henry hoover

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.

henry hoover Greece

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

freelance developer

Where can I find more info on this thread?

freelance developer Yemen

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

best fake tan

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

best fake tan United Kingdom

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

Lida

Good on your log

Lida Turkey

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

SEO Services

Thanks for sharing

SEO Services United States

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

nowGoogle.com Adalah Multiple Search Engine Popular

wow, that great menu, i like it

nowGoogle.com Adalah Multiple Search Engine Popular United States

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

interest rates calculator

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

interest rates calculator Canada

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

chase auto loan

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

chase auto loan Belgium

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

construction games

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

construction games United States

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

Fe Weingard

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

Fe Weingard United States

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

pr jobs

Really great step by step

pr jobs United Kingdom

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

Kyle

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

Kyle Philippines

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

banjarmasin

thanks about your post. very gud.

banjarmasin Indonesia

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

Joomla Web Design

Thanks for this blog post.

Joomla Web Design United States

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

excellent

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

excellent United States

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

dave

I really like your blog about asp.net 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 asp.net horizontal menu control . Peace.

dave Italy

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

lirik lagu

thanks for sharing..nice post

lirik lagu

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

michetela

This was an excellent article. I really enjoyed it.

michetela United States

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

azziewed

well done, keep up the great work..

azziewed United States

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

jason

this was one of your better posts

jason Chile

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

joey

your blo has a ton of great information

joey Greenland

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

Electronic Circuit

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

Electronic Circuit United States

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

Anne Richards

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)

Anne Richards United Kingdom

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

tom

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

tom Ecuador

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

lifenmusic

Tanks for the info

lifenmusic United States

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

Darts

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.

Darts United States

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

Trasloco

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

Trasloco Italy

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

Vintage Engagement Rings

Thanks for posting!

Vintage Engagement Rings United States

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

Top Acoustic Guitars

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

Top Acoustic Guitars United States

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

Gap Insurance

Works brilliantly in Chrome.

Gap Insurance United Kingdom

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

Waterproof Camera

Awesome article, thanks for posting it up

Waterproof Camera United Kingdom

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

Internasional Mesothelioma

Cool what an awesome post. Thks.

Internasional Mesothelioma Argentina

11/9/2010 3:22:58 AM #

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

United States

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

veterinary

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.

veterinary United States

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

Rob

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!

Rob United States

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

Aghoo


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.

Aghoo United States

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

Michelle elbaz

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

Michelle elbaz France

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

john

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

john United States

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

Provillus

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

Provillus United States

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

chord

nice post, thanks for sharing

chord

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

Popular Videos

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

Popular Videos Albania

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

fle.cx

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

fle.cx United Kingdom

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

Gouden tientje

I liked your article because it clears many good points.

Gouden tientje Netherlands

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

droll yankee bird feeders

Cool what an amazing post.keep up the good work

droll yankee bird feeders Liechtenstein

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

Youtube

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

Youtube Spain

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

hair loss cure

GOOD POST

hair loss cure India

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

Escort amsterdam

Yes very nice!

Escort amsterdam Netherlands

Pingbacks and trackbacks (5)+

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading