菜单中的回发问题

问题描述

| 在我的菜单中,我有一个具有子菜单的项目,在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菜单。