Jak se vám asp: menu následovat url poskytnuté v Web.sitemap?

hlasů
9

Mám jednoduchý asp:menu-item, který používá Web.sitemap, aby položky menu. Stránka bude postback, ale nepodaří se dostat stránky přiřazené k klikli položky. Zmíním, že navigační čárový kód je v souboru Masterpage.

<div>
  <asp:SiteMapDataSource ID=SiteMapDataSource1  ShowStartingNode=false runat=server />
  <asp:Menu ID=Menu1 Orientation=horizontal  runat=server BackColor=#a0a080 DataSourceID=SiteMapDataSource1
      DynamicHorizontalOffset=2 Font-Names=Verdana Font-Size=0.8em ForeColor=#a00000
      StaticSubMenuIndent=10px Style=z-index: 2; left: 390px; position: absolute;
      top: 281px Height=20px Width=311px>
      <StaticSelectedStyle BackColor=#a0a080 />
      <StaticMenuItemStyle HorizontalPadding=5px VerticalPadding=2px />
      <DynamicHoverStyle BackColor=#a0a080 ForeColor=White />
      <DynamicMenuStyle BackColor=#a0a080 />
      <DynamicSelectedStyle BackColor=#a0a080 />
      <DynamicMenuItemStyle HorizontalPadding=5px VerticalPadding=2px />
      <DataBindings>
          <asp:MenuItemBinding DataMember=SiteMapNode EnabledField=Title TextField=Title />
      </DataBindings>
      <StaticHoverStyle BackColor=#666666 ForeColor=White />
  </asp:Menu>
</div>    

<siteMap xmlns=http://schemas.microsoft.com/AspNet/SiteMap-File-1.0 >  
  <siteMapNode url= title=  description=>  
    <siteMapNode title=Home  description=Zombie (be)Warehouse url=index.aspx />  
    <siteMapNode title=Armor description=Anti-Zombie Armor url=Armor.aspx />  
    <siteMapNode title=Weapons description=Anti-Zombie Weapons url=Weapons.aspx />  
    <siteMapNode title=Manuals description=Survival Manuals url=Manuals.aspx />  
    <siteMapNode title=Sustenance description=Prepared food for survival url=Sustenance.aspx />  
    <siteMapNode title=Contacts  description=Contact Us  url=Contacts.aspx />  
    <siteMapNode title=About description=About Zombie (be)Warehouse url=About.aspx />  
  </siteMapNode>  
</siteMap>

Aktualizovat: Problém je nalézt v DataBindingssekci položkou menu. Všimněte si, že řádek:

<asp:MenuItemBinding DataMember=SiteMapNode EnabledField=Title Text=Title />

Tyto Text=Titlesoupravy v nabídce funkce zobrazí text z Web.sitemap‚textového pole y. Všiml jsem si, že MenuItemBindingpoložka má pole s názvem NavigateUrlField.

Tak, aby tento problém vyřešit, je jednoduché potřeba změnit / přidat do asp:MenuItemBinding

<asp:MenuItemBinding DataMember=SiteMapNode NavigateUrlField=url EnabledField=Title TextField=Title />
Položena 17/09/2008 v 06:48
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

Musíte přidat NavigateUrlFieldpole do MenuItemBindingtakhle <asp:MenuItemBinding DataMember="SiteMapNode" EnabledField="Title" TextField="Title" NavigateUrlField="url"/>

Odpovězeno 26/05/2019 v 16:06
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more