TreeView加载不同sitemap文件解决权限控制
2008-10-06 10:52
197 查看
最近,开始用了用母版页的功能,主要是想实现网页的整体风格统一。转换之后,原本的目录树TreeView是通过数据库绑定的,现在我用了SiteMap导航,但是程序中需要分权限显示不同的目录树。我查了一些资料,可以通过VS2005的网站管理工具来控制。不过,这个需要结合SQL Server2005来实现,用SQL Server 2000也可以,只是设置也麻烦了一些。我的SQL2005管理工具出了点问题,试了很久也没成功。由于自己的程序中权限不是很多,所以考虑用多个SiteMap来切换。
添加不同的web.sitemap文件,同时修改web.config,在system.web下增加如下几个配置项:
<siteMap defaultProvider="site1" enabled="true">
<providers>
<add name="site1" description="Default SiteMap provider." type="System.Web.XmlSiteMapProvider" siteMapFile="Web.sitemap"/>
<add name="site2" type="System.Web.XmlSiteMapProvider" siteMapFile="Web2.sitemap"/>
</providers>
</siteMap>
之后,在母版页的CS文件中的Page_load中写入判断语句:
public partial class MasterPage2 : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
// 。。。
if (!Page.IsPostBack)
{
if (Session["RoleID"] != null)
{
if (Session["RoleID"].ToString() == "1")
SiteMapDataSource1.SiteMapProvider = "site2";//管理员
else if (Session["RoleID"].ToString() == "0")
SiteMapDataSource1.SiteMapProvider = "site1";//普通用户
}
}
}
}
添加不同的web.sitemap文件,同时修改web.config,在system.web下增加如下几个配置项:
<siteMap defaultProvider="site1" enabled="true">
<providers>
<add name="site1" description="Default SiteMap provider." type="System.Web.XmlSiteMapProvider" siteMapFile="Web.sitemap"/>
<add name="site2" type="System.Web.XmlSiteMapProvider" siteMapFile="Web2.sitemap"/>
</providers>
</siteMap>
之后,在母版页的CS文件中的Page_load中写入判断语句:
public partial class MasterPage2 : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
// 。。。
if (!Page.IsPostBack)
{
if (Session["RoleID"] != null)
{
if (Session["RoleID"].ToString() == "1")
SiteMapDataSource1.SiteMapProvider = "site2";//管理员
else if (Session["RoleID"].ToString() == "0")
SiteMapDataSource1.SiteMapProvider = "site1";//普通用户
}
}
}
}
相关文章推荐
- TreeView加载不同sitemap文件实现简单权限控制
- 根据不同的操作系统(64/32),设置文件以64位运行。又可解决问题:“试图加载不正确的程序”。
- 解决IIS服务和用户上传的文件分别部署在不同的电脑上时,解决权限的问题
- 关于JQuery加载本地JSON文件无法读取(权限不足的)解决
- cocos2dx 加载cocostudio创建的exportjson文件 不同图片之间会有黑线问题解决方法
- iis7针对不同域名配置不同运行权限,所有共用web.config产生的问题均可以修改根配置文件解决
- 解决python with 在写入文件是因编码格式不同而造成乱码问题
- MVC 无法加载字体文件(*.woff,*.svg)的解决办法
- Visual Studio 2008不能创建数据库连接出现:未能加载文件或程序集“Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0, Culture=neutral,PublicKeyToken=89845dcd8080cc91”或它的一个依赖项。系统找不到指定的文件的解决办法
- 解决"未能加载文件或程序集,或它的某一个依赖项,试图加载格式不正确的程序"问题一法
- js 动态加载不同类型的文件包括css,js
- 异常:未能加载文件或程序集”DAL”或它的某一个依赖项——解决办法
- 加载cab文件,有时候加载不上去,解决办法
- 修改Manifest文件控制应用程序运行权限 推荐
- 根据客户端浏览器,加载不同的CSS文件
- (转载)解决IIS7虚拟目录出现HTTP 错误 500.19(由于权限不足而无法读取配置文件)的问题
- Windows 不能加载本地存储的配置文件。此问题的可能原因是安全权限不足或本地配置
- asp.net程序集冲突解决笔记(未能加载文件或程序集"XXXXXXXXX")
- 关于无法加载已创建的布局文件的问题的解决方案以及已布局在对应的R文件中未生成相应ID的问题的解决