asp.net 传值的问题

来源:百度知道 编辑:UC知道 时间:2024/07/02 19:09:06
请高手帮我看一下以下代码什么地方错了。。
因为老是判断不了
if (Session["ming_zi"].ToString() != null)
{
Label11.Text = Session["ming_zi"].ToString();
lian_jie();
}
else
{
Response.Redirect("Dfault.aspx");
}
还有就是如果我用这样的方法也是一样不行
if (Session["ming_zi"].ToString() != "")

if (Session["ming_zi"]!= null)
{
Label11.Text = Session["ming_zi"].ToString();
lian_jie();
}
else
{
Response.Redirect("Dfault.aspx");
}

Session["ming_zi"].ToString()
在Session["ming_zi"]为null时会抛出异常
所以,建议使用Convert.ToString:
string tmp = Convert.ToString(Session["ming_zi"]);
if(string.IsNullOrEmpty(tmp)){
Label11.Text = Session["ming_zi"].ToString();
lian_jie();
}
else
{
Response.Redirect("Dfault.aspx");
}

你应该首先判断当前这个Session是否存在,如果不存在,你在怎么ToString()也是没用的。因为跟本就不没有这个Session。你应该先用
Session["ming_zi"]是否等于null,然后在判断是否为空。
先判断是否为空是没用的。只有先判断是否为Null。

既然你已经tostring了 为什么好用null来判断?? 我一般判断session 都if(session ["xx"]!=null){

//do something
}else{
//..
}

Session["ming_zi"]哪儿来的?是不是在其他地方赋了别的值了?比如说初始化的时候。判断之前输出一下看。