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

跨页面查询问题求教
我想做这样一个效果,a页面是查询页,b页面有一个gridview,b页面能根据a页面的查询条件显示出相应的数据。查询页中有三种条件(书名、作者、ISBN),前面两个已经成功实现,但是ISBN这一项,即使我输入的是数据库中已存在的ISBN号,也无法查询到相应的书。附上代码,希望大家能帮忙看下问题出在哪里

protected void Button1_Click(object sender, EventArgs e)
    {
        string strsql = "";
        strsql = "SELECT * FROM Book WHERE 1=1";
        if (this.TextBox1.Text != "")
        {
            strsql += " AND bookName like'%" + this.TextBox1.Text.ToString() + "%' ";
        }
        if (this.TextBox2.Text != "")
        {
            strsql += " AND author like'%" + this.TextBox2.Text.ToString() + "%' ";
        }
        if (this.TextBox3.Text != "")
        {
            strsql += " AND ISBN like'%" + this.TextBox3.Text.ToString() + "%' ";
        }
        Response.Redirect("Default3.aspx?StrWhere=" + strsql);
    }



protected void Page_Load(object sender, EventArgs e)
    {
        string StrWhere = Request["StrWhere"].ToString();
        SqlDataSource1.SelectCommand = StrWhere;
        GridView1.DataBind();
    }



------解决方案--------------------
还,你到底了不了解什么叫get传值,什么叫post传值。

Default3.aspx?StrWhere=" + strsql
你这样传值,是因为url过长,肯定获取不了完整的值。