明显, Request.QueryString["subid"]和Request.QueryString["levelid"]没有取到值

解决方案 »

  1.   

    1.看你的出错信息你的Request.QueryString["subid"]和Request.QueryString["levelid"]很可能没有去到值
    2. 如果数据库里这两个字段的数据类型为整形,你这里要做类型装换
    string sql = "SELECT * FROM [file] WHERE [subid] = " + Convert.ToInt32(Request.QueryString["subid"]) + " AND [levelid]=" + Convert.ToInt32(Request.QueryString["levelid"]) ;
      

  2.   

    可是大哥们,看看IF,没有值应该是走另外个SQL呀,怎么还是走这个呢
      

  3.   

    明显, Request.QueryString["subid"]和Request.QueryString["levelid"]没有取到值楼上老大说得对。
    ================
    解决办法,可以提供默认值,加个属性,思路如下:
    string subid
    {
      get
      {
         string str = Request.QueryString["subid"];
         if(string.IsNullOrEmpty(str))
         {
            return "-1";
         }
         return str;
      }
    }
    string sql = "SELECT * FROM [file] WHERE [subid] = " + subid + ...;
      

  4.   

    你的 if 用的是 &&!
      

  5.   

    不好意思,用的是PHP的写法,.NET的怎么写
      

  6.   

    你的 if 用的是 &&
    ======================
    你用&&没错,但是这是"并且"的意思,根据你现在的情况,似乎应该用 || "或"来解决
      

  7.   

    Request.QueryString["subid"]取的是get请求的数据,如果用post它不接受的
    Request["subid"]可以接POST和GET的请求的数据
      

  8.   

    补充,想只接受POST请求,用Request.Form