我有一个导航菜单我希望根据用户角色显示(using.net会员资格)经过几个小时和头痛(从我的头撞在桌子上)我想知道是否有人可以指出我的错误方式。
页:
<body>
<form runat="server">
<div class="page">
<div class="header">
<div class="loginDisplay">
<asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
<AnonymousTemplate>
<a href="~/Login.aspx" ID="HeadLoginStatus" runat="server">Log In</a>
</AnonymousTemplate>
<LoggedInTemplate>
Welcome <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>!
[ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/Open/Close.aspx"/> ]
</LoggedInTemplate>
</asp:LoginView>
</div>
<div class="clear hideSkiplink">
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu"
IncludeStyleBlock="False" Orientation="Horizontal"
DataSourceID="AugustSiteMap" />
<asp:SiteMapDataSource ID="AugustSiteMap" runat="server" ShowStartingNode="false"/>
</div>
</div>
网站地图:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/Default.aspx" title="Home" description="Home">
<siteMapNode title="Open Pages" description="Open Pages">
<siteMapNode url="~/Open/Login.aspx" title="Login Page" description="Login Page" roles="*"/>
<siteMapNode url="~/Open/Close.aspx" title="" description="" roles="*"/>
</siteMapNode>
<siteMapNode title="Logged In Open Pages" description="Logged In Open Pages">
<siteMapNode url="~/Landing.aspx" title="Landing Page" description="Landing Page" roles="*"/>
<siteMapNode url="~/ContactUs.aspx" title="Contact Us" description="Contact Us" roles="*"/>
</siteMapNode>
<siteMapNode title="Restricted Pages" description="Resticted Pages">
<siteMapNode url="~/Restricted/ProductSearch.aspx" title=" Product Search" description=" Product Search" roles="*"/>
<siteMapNode url="~/Restricted/ReportOutput.aspx" title="Report Output" description="Report Output" roles="Admin"/>
</siteMapNode>
</siteMapNode>
</siteMap>
Webconfig:
<roleManager enabled="true" />
<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<add name="XmlSiteMapProvider"
description="AugustSiteMap"
type="System.Web.XmlSiteMapProvider "
siteMapFile="AugustSiteMap.sitemap"
securityTrimmingEnabled="true" />
</providers>
</siteMap>
如何确保用户登录后,登陆页面上会显示相应的菜单项?
问题在于,目前不会以任何方式,形状或形式创建导航菜单。
请原谅我的无知。所有这一切仍然是新的,我目前的“试错法”让我今天早上达到了自杀水平!
答案 0 :(得分:0)
没关系 - 对于那些跟随的人:这不是正确的答案。
尝试使用 DataSource
属性而不是DataSourceId
。
e.g。
DataSource="AugustSiteMap"
击> <击> 撞击>