问题描述
|
在我的菜单中,我有一个具有子菜单的项目,在IE和Mozilla中,当我越过该项目时,它会显示其他子菜单,并且在导航链接中会写出真实路径..localhost ... item.aspx,但是在Chrome中,当我在左下角的导航链接上将其写满了
javascript:__doPostBack(\'ctl00$NavigationMenu\',\'o\\\\Projects\'),
,在我的代码中我没有任何地方的javascript。当我单击该项目菜单时,我的菜单丢失了,但是我拥有该项目菜单上的onlt,又有3个,并且它们正常工作,onlt与子菜单不起作用。
所以,如果有什么想法,请写下。
<div class=\"background\">
<asp:Menu ID=\"NavigationMenu\" CssClass=\"NavigationMenu\" StaticdisplayLevels=\"2\" DynamicHorizontalOffset=\"1\" StaticSubMenuIndent=\"1px\" MaximumDynamicdisplayLevels=\"4\" Orientation=\"Horizontal\" StaticPopOutimageUrl=\"http://test.eu-seed.net/safenet/pict/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>
web.config
<siteMap xmlns=\"http://schemas.microsoft.com/AspNet/SiteMap-File-1.0\" >
<siteMapNode>
<siteMapNode url=\"~/Default.aspx\" title=\"Home\" description=\"Home\" accesskey=\"H\" />
<siteMapNode url=\"#\" title=\"Projects\" description=\"Projects\" accesskey=\"P\">
<siteMapNode url=\"~/Seed.aspx\" title=\"SEED\" description=\"SEED\" accesskey=\"S\" />
<siteMapNode url=\"~/SEMS.aspx\" title=\"SEMS\" description=\"SEMS\" accesskey=\"M\"/>
<siteMapNode url=\"~/IPR.aspx\" title=\"IPR\" description=\"IPR\" accesskey=\"P\"/>
<siteMapNode url=\"~/Beneficiaries.aspx\" title=\"Beneficiaries\" description=\"Beneficiaries\"/>
</siteMapNode>
<siteMapNode url=\"~/About.aspx\" title=\"About\" description=\"About\" accesskey=\"T\" />
<siteMapNode url=\"~/Contacts.aspx\" title=\"Contact\" description=\"Contact\" accesskey=\"E\" />
</siteMapNode>
</siteMap>
解决方法
if (Request.UserAgent.IndexOf(\"AppleWebKit\") > 0)
{
Request.Browser.Adapters.Clear();
}
我发现了这一点,并将其写在load page的master page.cs中,并且一切正常。这有助于在Safari和Chrome中呈现asp.net菜单。