hoverover does not display sub menu items in ie8. navigation is now impossible. it works in compatibility mode but not normal mode.
Is web:menu a legacy standard now?
does web:menu need updating for IE8 and Chrome?
is there a workaround?
Ideas welcome please!
The trouble with the Menu control is that the HTML it renders is, well, less than perfect. I always recommend using the CSS Friendly Control Adapters (http://www.asp.net/cssadapters/), for which the menu works
fine in Chrome. I haven't tried it in IE8, but it works in FF/Opera/Safari, so should be OK in IE8.
Will I supopse that was asking for too much. The holy war of IE8 defaulting to IE7 mode or true standards mode has raised it's ugly head, so until we get a decision they're willing to stick with, we won't know for sure whether the menu will work out of the
If they move toward true standards, and one feels they must as everyone else seems to be, then one can hope that they release updated and compliant versions of their own software where it currently fails to comply. That may however be wishful thinking :-)
Thanks again for your time on this.
If only it were that simple. Read
http://www.joelonsoftware.com/items/2008/03/17.html for a good analysis.
Backward compatibility rears it head on the rendering too; the ASP.NET team have know about rendering issues, but they can't change the default behaviour with potentially breaking existing applications. The adapters were a way around that, but they do have
longer term plans for improving this situation.
Ta for the link - he gives a good explanation.
I have every sympathy for both sides of this particular razor blade journey. Having been in the industry since 1969 I have seen every ‘standard’ very soon overlapped by the next one. I know young developers who worship ‘open standards’ that they really believe
are a universal goal but I have heard it all before and will only believe it 5 years after it happens.
Most developers know that with IE on 75% of machines it is the defacto standard of the moment for customers, and customers are the determinants not the idealists. So, when Redmond decide to adapt a new standard (ideal or otherwise) it will dominate and if
that straddles an uncomfortable reality then we probably just have to add yet another layer of software abstraction
I am not holding my breath waiting and will develop a new menu for my stuff that will hopefully work reasonably well at least under the 5 likely major ‘standards’ of IE7, IE8, FireFox, Mozilla and Chrome !
Thanks again for your help.
try this out
<!-- Use IE7 mode -->
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<title>My Web Page</title>
Thanks for that idea but of course it switches IE8 into 'legacy' mode and does nothing in Chrome, both states I wish to avoid.
The current workaround is to use asp:treeview instead of asp:menu. Treeview does work although it only has vertical mode so involves page rearrangment if one uses horizontal menu mode.
The longer term solution is to move away from asp:menu and create something that works across major browsers.
Paul J. Weighell
This is bug in IE8 as its beta, there may be othere, adn this solustion they are given on their site. so for now we have to do this pathc or switch the menu by using othere control. for Chrome there are lots many things which are not working right now, but
they are still under development phase, they will release the stable version soon.
"for now we have to do this pathc or switch the menu by using othere control"
correct and instead of waiting for google/ms the least risk and fastest solution path is to switch controls.
thank you all for your help. this post is now resolved.
Paul J. Weighell
this patch for to fix IE8 prob.
asp:Menu control not rendering correctly in google chrome can be fixed.
- Create the App_Browsers
- right click on it and create a .browser file using any name you like (chrome.browser)
- put the below code in it
<adapter controlType="System.Web.UI.WebControls.Menu" adapterType=""></adapter>