小智 4
您想要做的是在您的 web.configsystem.web部分中有一个部分,如下所示:
<siteMap>
<providers>
<add name="anonymous" type="System.Web.XmlSiteMapProvider" siteMapFile="~/YourAnonymouse.sitemap"/>
<add name="user" type="System.Web.XmlSiteMapProvider" siteMapFile="~/YourNormalUser.sitemap"/>
<add name="admin" type="System.Web.XmlSiteMapProvider" siteMapFile="~/YourAdmin.sitemap"/>
</providers>
</siteMap>
Run Code Online (Sandbox Code Playgroud)
然后,您将定义三个站点地图提供程序,每个提供sitemap程序都指向各自的文件,以获得您为每种用户类型寻找的必要菜单。
然后您将拥有一个SiteMapDataSource菜单服务器控件将使用的。这很可能存在于您的主页上。在您的Page_Load()母版页上,您将具有动态地以编程方式设置SiteMapDataSource控件的站点地图数据源的逻辑:
if (HttpContext.Current.User.Identity.IsAuthenticated)
{
if (HttpContext.Current.User.IsInRole("Admin"))
SiteMapDataSource1.Provider = SiteMap.Providers("admin");
else
SiteMapDataSource1.Provider = SiteMap.Providers("user");
}
else
SiteMapDataSource1.Provider = SiteMap.Providers("anonymous");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1388 次 |
| 最近记录: |