高手来帮忙求救~~~TreeView的节点用权限来不显示的问题,,,急急急急急急急急急急急急急急

dndgkr 2008-07-08 11:14:52
我想TreeView来做一个MENU。我现在把TreeView里的数据从SiteMap里获取出来的。
在SiteMap文件里写了
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
<siteMapNode url="">
<siteMapNode url="~/FileInfo/Index.aspx" title="查询" description="查询"/>
<siteMapNode url="~/PersonInfo/PersonInfo.aspx" title="修改个人信息" description="修改个人信息" />
<siteMapNode url="~/FileInfo/PathConfig.aspx" title="设置下载连接" description="设置下载连接"/>
<siteMapNode url="~/Message/Message.aspx" title="信息箱" description="信息箱"/>
<siteMapNode url="~/UserInfo/UserInfo.aspx" title="用户管理" description="用户管理" />
<siteMapNode url="~/MessageBoard/BBSList.aspx" title="论坛" description="论坛" />
<siteMapNode url="~/Statistics/Statistics.aspx" title="资源统计表" description="资源统计表" />
</siteMapNode>
</siteMap>
然后用SiteMapDataSource把siteMap文件里的内容绑定到TreeView里。
想让用户区分来判断此节点显示/不显示。
条件语句我有可是这条件语句不知道往哪写。
普通用户的时候显示"查询","修改个人信息","信息箱","论坛"其他的给隐藏没有权限。
用户是"admin"的话显示所有。
请高手来帮帮这个问题,
小弟再次谢谢各位~~~~~~~~~~~~
...全文
178 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
dndgkr 2008-07-16
  • 打赏
  • 举报
回复
id集合,即用户所拥有的权限,能看到的页面!

遍历该集合,去SiteMap文件中匹配,筛选出来的数据作为你的datasource!
这个得怎么做啊~~~的确不知道怎么集合怎么匹配。
请大家帮忙已经5天了。5555
dndgkr 2008-07-16
  • 打赏
  • 举报
回复
你们那么说我就真不知道了。。 有代码吗? 再次谢谢大家。
clover_sj 2008-07-16
  • 打赏
  • 举报
回复
你可以使用动态绑定
zhengqian529 2008-07-16
  • 打赏
  • 举报
回复
asp.net不是自己有一套角色管理机制吗?
任何一本书上都有介绍 角色管理
fsy123456accp 2008-07-08
  • 打赏
  • 举报
回复
帮顶啊
dndgkr 2008-07-08
  • 打赏
  • 举报
回复
amandag:不是母版页。 像CSDN首页差不多, 左边有TreeView,点击节点右边显示画面。
用权限来判断TreeView的节点显示、不显示。。。。。。。
dndgkr 2008-07-08
  • 打赏
  • 举报
回复
小弟不太懂您的意思。 还得有XML文件??
跟SiteMap文件结合?怎么结合。意思不明白,小弟菜鸟您说的太深奥了。可不可以详细一点。
隐藏TreeView的节点是不是还得有个代码???
请高手们帮忙来就小弟一次~~~ 谢谢
amandag 2008-07-08
  • 打赏
  • 举报
回复
不知道用的是不是母板页

可以在母板页的Page_Load中根据权限不同移除其他的节点
yyklxy 2008-07-08
  • 打赏
  • 举报
回复
帮你Up
beancurd005 2008-07-08
  • 打赏
  • 举报
回复
你可以把用户的权限配置成XML文件
可以类似如下:
<?xml version="1.0" encoding="utf-8" ?>
<User role="普通用户">
<Right name="查询">
</Right>
<Right name="修改个人信息">
</Right>
</User>
<User role="一般管理员">
<Right name="查询">
</Right>
<Right name="修改个人信息">
</Right>
<Right name="修改会员信息">
</Right>
</User>
<User role="Admin">
</User>

大致的思想如此,根据读XML文件获取用户的权限,再结合你的SiteMap文件,得到对应的SiteMapDataSource

你可以尝试下!
beancurd005 2008-07-08
  • 打赏
  • 举报
回复
思想明白了,接下来就靠你自己了。

实现的方法很多,关键是思想。
dndgkr 2008-07-08
  • 打赏
  • 举报
回复
意思是都明白了。 做个用户权限XMl文件。
(通过XML文件的id集合去匹配siteMap文件,筛选出来的火数据绑定到datasource)知道是什么意思,不知道代码如何写???能不能给具体的代码啊??
我的条件:
UserPower=用户区分(登陆的时候拿着用户ID取出用户区分)
if (Session["UserPower"] != null)
{
用户区分=admin
if (Session["UserPower"].ToString() == "admin")
{
全部显示
}
beancurd005 2008-07-08
  • 打赏
  • 举报
回复
id集合,即用户所拥有的权限,能看到的页面!

遍历该集合,去SiteMap文件中匹配,筛选出来的数据作为你的datasource!
beancurd005 2008-07-08
  • 打赏
  • 举报
回复
把你的SiteMap文件更改如下:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
<siteMapNode url="">
<siteMapNode id="0" url="~/FileInfo/Index.aspx" title="查询" description="查询" />
<siteMapNode id="1" url="~/PersonInfo/PersonInfo.aspx" title="修改个人信息" description="修改个人信息" />
<siteMapNode id="2" url="~/FileInfo/PathConfig.aspx" title="设置下载连接" description="设置下载连接"/>
<siteMapNode id="3" url="~/Message/Message.aspx" title="信息箱" description="信息箱"/>
<siteMapNode id="4" url="~/UserInfo/UserInfo.aspx" title="用户管理" description="用户管理" />
<siteMapNode id="5" url="~/MessageBoard/BBSList.aspx" title="论坛" description="论坛" />
<siteMapNode id="6" url="~/Statistics/Statistics.aspx" title="资源统计表" description="资源统计表" />
</siteMapNode>
</siteMap>

权限的XML文件如下:
<?xml version="1.0" encoding="utf-8" ?>
<User role="普通用户">
<Right id="0">
</Right>
<Right id="1">
</Right>
</User>
<User role="一般管理员">
<Right id="0">
</Right>
<Right id="1">
</Right>
<Right id="2">
</Right>
</User>
<User role="Admin">
<Right id="0">
</Right>
<Right id="1">
</Right>
<Right id="2">
</Right>
<Right id="3">
</Right>
<Right id="4">
</Right>
<Right id="5">
</Right>
<Right id="6">
</Right>
</User>

即可知道每个用户的具体权限了。

你通过读这个XML文件的id集合去匹配SiteMap文件,然后决定你的datasource,明白了吗?

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧