Reputation: 1848
In ASP .Net 4.0 Web Forms 'Site' project: I have a Menu on a master page that is populated with SqlSiteMapProvider. It works, but sometimes requires a manual browser refresh to actually appear on screen.
Page Markup:
<div class="clear hideSkiplink">
<asp:SiteMapDataSource ID="SiteMapSource" runat="server" ShowStartingNode="false" />
<asp:Menu ID="NavigationMenu" runat="server" DataSourceID="SiteMapSource" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
</asp:Menu>
</div>
I know the connection and configuration is correct because after hitting refresh everything works fine.
Upvotes: 0
Views: 804
Reputation: 28970
Adjust EnableViewState="true"
in order to persist without Bind every Load or Post.
Try with
<div class="clear hideSkiplink">
<asp:SiteMapDataSource ID="SiteMapSource" runat="server" ShowStartingNode="false" />
<asp:Menu ID="NavigationMenu" runat="server" DataSourceID="SiteMapSource"
CssClass="menu"
EnableViewState="true"
IncludeStyleBlock="false"
Orientation="Horizontal">
</asp:Menu>
</div>
Link : http://msdn.microsoft.com/en-us/library/ms972976.aspx#viewstate_topic5
Upvotes: 1