tags:

views:

611

answers:

2

I have a simple asp:menu item that uses the Web.sitemap to get the menu items. The page will postback but fails to get the page associated to the clicked item. I will mention that the navigation bar code is within the masterpage file.

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

Update: The problem is found in the DataBindings section of the menu item. Notice the line:

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

The Text="Title" set's the menu's displayed text from the Web.sitemap's Text field. I noticed that the MenuItemBinding item had a field called NavigateUrlField.

So to solve this issue, you simple need to change/add to the asp:MenuItemBinding

<asp:MenuItemBinding DataMember="SiteMapNode" NavigateUrlField="url" EnabledField="Title" TextField="Title" />
A: 

How is your site map structured? Do none of the links work or just the one?

Mitchel Sellers
+1  A: 

So this question is answered in the Question field?

Jeff Martin