日期:2014-05-18  浏览次数:20834 次

想在母板页做个权限判定。。
我想做个母版页,使页面更为清楚,但是涉及到权限问题。
aspx:

<div id="sidebar">
<ul><li>
<h2><strong style="color: #A8D6F7">我的菜单</strong> </h2>
<ul>
<%if (Session["RoleId"] != null) {%>
<% if(Session["RoleId"].ToString()=="1") { %>

<li><a href="ad.aspx">图片管理</a></li>
<li><a href="notice.aspx">公告管理</a></li>
<li><a href="users.aspx">会员管理</a></li>
<li><a href="board.aspx">版块管理</a></li>
<li><a href="apply_mana.aspx">版主申请审核</a></li>
<%} %>
<li><a href="logo.aspx">修改头像</a></li>
<li><a href="info.aspx">管理个人资料</a></li>
<li><a href="invi_add.aspx">发布帖子</a></li>
<li><a href="invi.aspx">我的帖子</a></li>
<% if (Session["RoleId"].ToString() == "1") { %>
<li><a href="invi_list.aspx">管理帖子</a></li>
<%} %>
<li><a href="pwd.aspx">修改密码</a></li>
<%} %>
</ul></li></ul></div>

则if内的语句没有运行。。但如果不行进行判定<%if (Session["RoleId"] != null) 语句,则出现错误
<% if(Session["RoleId"].ToString()=="1")未将对象引用设置到对象的实例

很好奇原因。求指点。谢谢

------解决方案--------------------
很明显不能排除Session["RoleId"]=null的情况,而这种情况下Session["RoleId"].ToString()空对象并没有ToString()的重构方法,因此需要判断
------解决方案--------------------
Session["RoleId"]=null

你再Session["RoleId"].ToString() 不报错才怪!

一般判断 都是先判断不为null