菜单中的PostBack问题

时间:2011-05-25 10:00:03

标签: c# javascript asp.net

在我的菜单中,我有一个项目有子菜单,在IE和Mozilla中当我跨越该项目时显示其他子菜单,并在导航链接中写入真实路径..localhost ... item.aspx,但在Chrome,当我在左下角交叉链接导航链接写下此javascript:__doPostBack('ctl00$NavigationMenu','o\\Projects'),并在我的代码中我没有任何地方的javascript。当我点击该项目菜单时,我的菜单丢失了,但是在我所拥有的项目菜单上,还有3个并且它们正常工作,这与子菜单无法正常工作。 如果有任何想法,请写下来。

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

1 个答案:

答案 0 :(得分:1)

if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
 {
   Request.Browser.Adapters.Clear();
 }

我找到了这个,并在加载页面的master.c.cs中写出来,一切正常。这有助于在Safari和Chrome中呈现asp.net菜单。