asp.net登陆判断?出错

来源:百度知道 编辑:UC知道 时间:2024/06/17 04:00:52
if (Session["username"].ToString() == "") {

Response.Redirect("Default-login.aspx");}
else
{
Label1.Text=Session["username"].ToString();

}
===========================================
从登陆页面转过来是正常的 但如果直接打这个地址的话就会提示错误
因为Session["username"]这个直接转过来的话是空值 就提示出错 请问该怎么避免这种错误呢 !

告诉你错误的原因就是假如不走登陆页你判断的时候
Session["username"].ToString() 这个时候Session["username"]是没有值的,和它是空值是2回事你要知道,然后你转换成.ToString()她就会出错误了。首先你要判断Session["username"]是否等于NULL

没有"username"和"username"为空都返回login页面。

if (Session["username"] == null || Session["username"].ToString() == "")
{
Response.Redirect("Default-login.aspx");
}
else
{
Label1.Text=Session["username"].ToString();
}

最简单的方法是捕获并忽略这个异常

try{
if (Session["username"].ToString() == "") {
Response.Redirect("Default-login.aspx");
}else{
Label1.Text=Session["username"].ToString();
}
}catch{
Response.Redirect("Default-login.aspx");
}

或者

try{
if (Session["username"].ToString() == "") {
Redir