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"]这个直接转过来的话是空值 就提示出错 请问该怎么避免这种错误呢 !
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