请教一下:
我做一个查询功能的用户控件,如下劣图:
“按 DropDownList 搜索 TextBox Button(查询)”
我是采用ListItem编辑DropDownList的选项,然后定义查询如下:
 protected void btnSearch_Click(object sender, EventArgs e)
    {
        Response.Redirect("~/BBS/SearchTitles.aspx?" + ddlSearch.SelectedValue.ToString() + "=" + txtSearch.Text.Trim()+"");    }
在SearchTitles.aspx中,我用DataList控件,在ItemTemplate中对各数据进行了类似Eval("bookname")的绑定,主要代码如下:
 protected void Page_Load(object sender, EventArgs e)
    {
        string titleName="", titleArea="";
        String sqlconn = "Server=. \\SQLEXPRESS;DataBase=Test;Integrated Security=True";
        SqlConnection mysqlConn = new SqlConnection(sqlconn);
       // mysqlConn.Open();
        SqlCommand myComm;
        titleName = Request.QueryString["titleName"];
        titleArea = Request.QueryString["titleArea"];

        if (titleName != "")
        {
            string sql1 = "select UserList.User_image,Titles.title,Titles.updateDate,Titles.lookNum,Titles.answerNum,Titles.User_Name,Areas.area_Name from Titles,UserList,Areas where UserList.User_name=Titles.User_Name and Areas.area_ID=Titles.area_ID and Titles.title_ID='"+Request.QueryString["title_ID"]+"' and Titles.title like '%" + titleName + "%'";
            myComm = new SqlCommand(sql1, mysqlConn);
            mysqlConn.Open();
            SqlDataReader dr1 = myComm.ExecuteReader();
            DataList1.DataSource = dr1;
            DataList1.DataBind();
            mysqlConn.Close();
        }
        if (titleArea != "")
        {
            string sql2 = "select UserList.User_image,Titles.title,Titles.updateDate,Titles.lookNum,Titles.answerNum,Titles.User_Name,Areas.area_Name from Titles,UserList,Areas where UserList.User_name=Titles.User_Name and Areas.area_ID=Titles.area_ID and Titles.title_ID='" + Request.QueryString["title_ID"] + "'and Areas.area_Name like '%" + titleArea + "%'";
            myComm = new SqlCommand(sql2, mysqlConn);
            mysqlConn.Open();
            SqlDataReader dr2 = myComm.ExecuteReader();
            DataList1.DataSource = dr2;
            DataList1.DataBind();
            mysqlConn.Close();
        }
       // mysqlConn.Close();
    }
我运行通过了,可是却查询不到结果,请问,这是为什么?
是不是带颜色部分出问题呢?还有,Request.QueryString[""]里面的值是数据库里面的属性值呢,还是自己定义的值,我是采用后一种的,编辑DropDownList选项:0 帖子主题 titleName;1 帖子区域 titleArea
但是,在数据库中,两个选项的属性值分别为:title                     area_name

解决方案 »

  1.   

     Response.Redirect("~/BBS/SearchTitles.aspx?titleName" + ddlSearch.SelectedValue.ToString() + "&titleArea=" + txtSearch.Text.Trim()+"");    
    你加个断点调下不就知道了
      

  2.   

    调试了,知道了Request.QueryString的用法,可是,还是查询不到数据啊!!
      

  3.   

    把sql1变量内容复制到查询分析器执行下看有没有数据便知Response.Redirect("~/BBS/SearchTitles.aspx?titleName=" + ddlSearch.SelectedValue.ToString() + "&titleArea=" + txtSearch.Text.Trim()+""); 
      

  4.   

    哈哈我解出来了,是这里出错:
    Response.Redirect("~/BBS/SearchTitles.aspx?" + ddlSearch.SelectedValue.ToString() + "=" + txtSearch.Text.Trim()+"");    
    应该改为:
    Response.Redirect("~/BBS/SearchTitles.aspx?" + ddlSearch.SelectedValue.Trim() + "=" + txtSearch.Text.Trim()+""); 
    这样就可以了!!