您的位置:首页 > 其它

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";//普通用户

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐