Проблема с обратной отправкой в меню

#c# #javascript #asp.net

#c# #javascript #asp.net

Вопрос:

В моем меню у меня есть один элемент, у которого есть подменю, в IE и Mozilla, когда я перехожу через этот элемент, он отображает другие подменю, а в ссылке navigate пишет реальный путь ..localhost …item.aspx , но в Chrome, когда я перехожу по ссылке navigate в левом нижнем углу, напишите это 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. Мы не сможем вам помочь, если вы не предоставите нам свой код.

2. вот и все, menu и web.config

Ответ №1:

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

я нашел это и записал это на главной странице.cs на странице загрузки, и все работает хорошо. Это помогает отображать asp.net меню в Safari и Chrome.