Jag har en dynamisk meny kopplad till en web.sitemap, när jag testar lokalt fungerar det fint. När jag laddar upp det till mitt hotell visas inte underlänkarna, det är bara tomt. Har aldrig varit med om detta och hittar inget om det heller. Japp,det är det. Men jag har lagt till "<meta http-equiv="X-UA-Compatible" content="IE=8" />" och det funkar ju lokalt så det är ju väldigt märkligt. Det har att göra med att IE8 nu följer webbstandarden bättre. Sättet som ASP.NET bygger upp asp:menu är inte helt korrekt. Menyn hamnar under i Z-indexet.Dynamisk meny vill inte fungera
<code>
<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" StaticDisplayLevels="2"
Orientation="Horizontal">
<StaticHoverStyle CssClass="staticHoverStyle" />
<StaticMenuStyle CssClass="staticMenuStyle" />
<StaticMenuItemStyle CssClass="staticMenuItemStyle" />
<StaticSelectedStyle CssClass="staticSelectedStyle" />
</asp:Menu>
web.sitemap
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/default.aspx" title="Hem" description="Till förstasidan">
<siteMapNode url="~/admin" title="Admin" description="Här loggar vi in för att sköta hemsidan.">
<siteMapNode url="~/Admin/news" title="Administrera Nyheter" description="Administrera nyheterna" />
<siteMapNode url="~/Admin/guestBook" title="Administrera Gästboken" description="Administrera Gästboken" />
</siteMapNode>
<siteMapNode url="~/news.aspx" title="Nyheter" description="Läs de senaste nyheterna" />
<siteMapNode url="~/guestBook.aspx" title="Gästbok" description="Läs och skriv i gästboken.">
<siteMapNode url="~/guestBook.aspx?id=write" title="Skriv i gästbooken" description="Skriv i gästboken" />
</siteMapNode>
<siteMapNode url="~/contact.aspx" title="Kontakt" description="Hitta information om hur du kan komma i kontakt med mig." />
</siteMapNode>
</siteMap>
</code>Sv:Dynamisk meny vill inte fungera
Sv: Dynamisk meny vill inte fungera
Lösning 1:
Detta har åtgärdats i de senaste uppdateringarna från Windows Update. Det är därför det funkar lokalt, men inte från ditt webbhotell. De har inte de senaste uppdateringarna.
Lösning 2:
Det går att fixa med ett CSS-hack.
I CSS:
.adjustedZIndex /* IE8 fix. Can be removed when server is patched. */
{
z-index: 1;
}
I HTML/ASP.NET:
<asp:Menu ID="Menu1" runat="server">
<DynamicMenuStyle CssClass="adjustedZIndex" />
</asp:Menu>
Fixen kan tas bort sen när servern uppdaterats, eftersom felet inte ligger på användarens sida.