日期:2014-05-17  浏览次数:20485 次

.net web中Request.QueryString["id"]的问题
具体 显示详细信息的页面B代码如下:
  if (Request.QueryString["id"] != null || Request.QueryString["id"].ToString() != "")
  {
  int id = Convert.ToInt32(Request.QueryString["id"].ToString());
  SqlConnection cn = new SqlConnection(con);
  cn.Open();
  .......
  }
  else
  {
  Response.Redirect("A.aspx");
  }
现在,有个问题是,如果我不从前面传进ID页面A打开,而是,直接右击浏览B,它为什么不会跳转到A页面(也就是不执行这句 Response.Redirect("A.aspx");),而是直接打开B页面,就是月面都没有那些相应的详细信息,求解答!!

------解决方案--------------------
你可以断点跟一下,看看Request.QueryString["id"]是什么,是否进入了if判断,而没有进入else
------解决方案--------------------
你的代码逻辑有问题,你写的else就相当于else if(Request.QueryString["id"] = null || Request.QueryString["id"].ToString() = ""),这样写你的url中还是要有id,只不过是当id等于空的时候才会执行。
不信你打开页面A,在url后加上?id=null在试一下看是不是打开b之后又跳转到a页面了