有个管理页面,未登录的情况下不能访问,于是在这个页面里加了个
if(Session["user"].Equal(""))
{
...............
}
在登录页面里加了个
if()
{
Session["user"]=user;
}
else
{
Session["user"]=""
}(ASP中是这样写的,在ASP.NET中编译也通过了,但不知是不是最佳方案),但是跳转到管理页面上时,就报错,说的是有对像没有实例化就被使用,并指明了是if(Session["user"].Equal("")),开始我以为是Session["user"]的值为null,搞了半天,Session["user"]的值果然是null,于是在网上找到一篇文单说,用先判断有无,再判断其值的办法可解困,即:
if(Session["user"]!=null)
{
if(Session["user"].Equal(""))
}
....
一用,果然是药到病除,但仔细一看,怎么不对劲儿呢?(咋就不对劲呢?咋就不对劲呢?),如果用户在地址栏里直接输入这个页面的地址,Session["user"]本来就为null,那不是所有的工作都白做了吗.
这是咋回事儿呢?
if(Session["user"].Equal(""))
{
...............
}
在登录页面里加了个
if()
{
Session["user"]=user;
}
else
{
Session["user"]=""
}(ASP中是这样写的,在ASP.NET中编译也通过了,但不知是不是最佳方案),但是跳转到管理页面上时,就报错,说的是有对像没有实例化就被使用,并指明了是if(Session["user"].Equal("")),开始我以为是Session["user"]的值为null,搞了半天,Session["user"]的值果然是null,于是在网上找到一篇文单说,用先判断有无,再判断其值的办法可解困,即:
if(Session["user"]!=null)
{
if(Session["user"].Equal(""))
}
....
一用,果然是药到病除,但仔细一看,怎么不对劲儿呢?(咋就不对劲呢?咋就不对劲呢?),如果用户在地址栏里直接输入这个页面的地址,Session["user"]本来就为null,那不是所有的工作都白做了吗.
这是咋回事儿呢?
解决方案 »
- .net用户控件拖到页面不显示,却显示路径
- 有关随机数获取
- [投票结果计算]已经得到每一个答案的点击数量,总数,怎么在.aspx页面计算结果??
- 如何在添加记录的时候给记录序号一列赋值(初学,请多关照)
- asp.net调用C++写的dll
- 问一个用户控件的基本问题,怎么调用用户控件的方法???
- 刚学dotnet,高分求救第二题!大家关心一下!!!
- asp中用VBScript可以插入一个属性值,为什么改为JavaScript就不行了??
- 为什么就是搞不定这么简单的一个问题,郁闷啦!
- 访问服务器权限出错!
- 40分求在asp.net在线压缩access数据库和备份的代码。。急。。
- 怪问题求助 在线等
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="login.aspx" protection="None" timeout="60" path="/"></forms>
</authentication>
<authorization>
<deny users="?"/>
<allow users="*" />
</authorization>
{
...............
}
因为当session没有值时,你强行使用Equal,将会使它转换为文本,把null值拿来转换,自然出错.