在ASP .Net 4.0 Web窗体的“站点”项目中:我在主页上有一个菜单,其中填充了SqlSiteMapProvider。它有效,但有时需要手动浏览器刷新才能真正显示在屏幕上。
页面标记:
<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>
我知道连接和配置是正确的,因为在点击刷新后一切正常。
答案 0 :(得分:1)
调整EnableViewState="true"
以便在没有每次加载或发布后绑定的情况下持续存在。
尝试
<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>
链接:http://msdn.microsoft.com/en-us/library/ms972976.aspx#viewstate_topic5