我的编码是
if (Request.QueryString["uid"].ToString() != "0")
{
string dummy =Request.QueryString["uid"].ToString();
Label1.Text = dummy;
Response.Redirect("../Profile/Home1.aspx?uid="+ dummy );
}
else
{
Label1.Text = "none";
Session["AccountId"] = 0;
}
我的问题是在主页中使用此编码..如果它是网站中的第一页查询字符串产生问题..如果用户以登录页面启动意味着它的工作原理。现在我想避免查询问题。
答案 0 :(得分:3)
您必须修改if条件才能检查null
- 否则在ToString()
上尝试拨打null
时会出现例外情况:
if(Request.QueryString["uid"] != null && Request.QueryString["uid"].ToString() != "0")
但有一种更好的方法 - QueryString
已经返回一个字符串:
if(Request.QueryString["uid"] != null && Request.QueryString["uid"] != "0")
答案 1 :(得分:0)
我知道这是旧的,但需要参考。
Request.QueryString [index]返回一个字符串。
ToString实际上是完全冗余的,并且导致了您的问题。 (null).toString()导致空引用异常。
string uid = Request.QueryString["uid"];
if (uid != "0") {
Label1.Text = uid;
Response.Redirect("../Profile/Home1.aspx?uid="+ uid);
}
else {
Label1.Text = "none";
Session["AccountId"] = 0;
}