单步调试的时候发现,在文本框输入要搜索的内容时,jiajuinfo接受不到。这是怎么回事啊。如果在文本框中不输入任何内容的话点击“搜索”后,显示的数据表中的第一条记录,特别奇怪那位高手帮帮忙呢,马上就要答辩了这个很重要的搜索功能还实现不了,真是气人。。

解决方案 »

  1.   

    jiajuinfo = 你的文本框.Text;request是在webPage之间传递了。
      

  2.   

    Class1.ExecSel(jiajuinfo); 
    Class1.ExecSel(info); ??
      

  3.   

    findtype的代码:
    public partial class MasterPage : System.Web.UI.MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["userlogin"] != null)
            {
                Label1.Text = Session["userlogin"].ToString() + "  您好,欢迎来到集美家具!";
            }
            else
            {
                Response.Redirect("login.aspx");
            }
           
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            string findtype = "";
             
            switch (DropDownList1.SelectedValue)
            {
                case "名称":
                    findtype = "select * from tblJiaju where jiajuName like '%" + TextBox1.Text + "%'";
                    break;            case "品牌":
                    findtype = " select * from tblJiaju where brand like '%" + TextBox1.Text + "%'";
                    break;
                case "材质":
                    findtype = " select * from tblJiaju where material like '%" + TextBox1.Text + "%'";
                    break;
            }
            Response.Cookies["findtype"].Value = findtype;        Response.Cookies["findtype"].Expires = DateTime.Now.AddHours(1);
            Response.Redirect("findjiaju.aspx");
           
        }
    }
      

  4.   

    Response.Redirect("findjiaju.aspx?findtype="+你的文本框.Text);
      

  5.   

    行 39:        oda.SelectCommand = com; 
    行 40:        //传递查询结果 
    行 41:        oda.Fill(ds);行 42:        con.Close(); 
    行 43:        return ds.Tables[0]; 
    ==
    相关代码
      

  6.   

    堆栈跟踪如下:
    堆栈跟踪: 
    [InvalidOperationException: ExecuteReader: CommandText 属性尚未初始化]
       System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async) +873396
       System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +73
       System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
       System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +122
       System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +12
       System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +7
       System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +141
       System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +137
       System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) +86
       Class1.ExecSel(String sql) in f:\Inetpub\wwwroot\WebSite\App_Code\Class1.cs:41
       findjiaju.Page_Load(Object sender, EventArgs e) in f:\Inetpub\wwwroot\WebSite\findjiaju.aspx.cs:20
       System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
       System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
       System.Web.UI.Control.OnLoad(EventArgs e) +99
       System.Web.UI.Control.LoadRecursive() +47
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1
     
      

  7.   

    这是一个页面:
    public partial class MasterPage : System.Web.UI.MasterPage 

        protected void Page_Load(object sender, EventArgs e) 
        { 
            if (Session["userlogin"] != null) 
            { 
                Label1.Text = Session["userlogin"].ToString() + "  您好,欢迎来到集美家具!"; 
            } 
            else 
            { 
                Response.Redirect("login.aspx"); 
            } 
          
        } 
        protected void Button1_Click(object sender, EventArgs e) 
        { 
            string findtype = ""; 
            
            switch (DropDownList1.SelectedValue) 
            { 
                case "名称": 
                    findtype = "select * from tblJiaju where jiajuName like '%" + TextBox1.Text + "%'"; 
                    break;             case "品牌": 
                    findtype = " select * from tblJiaju where brand like '%" + TextBox1.Text + "%'"; 
                    break; 
                case "材质": 
                    findtype = " select * from tblJiaju where material like '%" + TextBox1.Text + "%'"; 
                    break; 
            } 
            Response.Cookies["findtype"].Value = findtype;         Response.Cookies["findtype"].Expires = DateTime.Now.AddHours(1); 
            Response.Redirect("findjiaju.aspx"); 
          
        } 
    }
    另一个页面:
    搜索代码: protected void Page_Load(object sender, EventArgs e) 
        { 
            String jiajuinfo; 
            jiajuinfo = Request["findtype"].ToString(); 
            DataTable dt = Class1.ExecSel(jiajuinfo); 
            //如果搜索不到,则提示没有家具 
            if (dt == null ¦ ¦ dt.Rows.Count == 0) 
            { 
                Label7.Text = "没有存货"; 
                return; 
            } 
            else 
            { 
                //这个信息可以放在div里,这样如果搜索不到家具,则不显示div 
                //现在搜索不到.显示都是空的 
                int id = Convert.ToInt32(dt.Rows[0][0]); 
                string info = "select * from [tblJiaju] where jiajuID=" + id; 
                DataTable datatable = Class1.ExecSel(info); 
                Label1.Text = dt.Rows[0][1].ToString(); 
                Label2.Text = dt.Rows[0][2].ToString(); 
                Label3.Text = dt.Rows[0][3].ToString(); 
                Label4.Text = dt.Rows[0][4].ToString(); 
                Label5.Text = dt.Rows[0][5].ToString(); 
                Label6.Text = dt.Rows[0][6].ToString(); 
                if (Convert.ToInt32(dt.Rows[0][8]) == 0) 
                { 
                    Label7.Text = "没有存货"; 
                } 
                if (Convert.ToInt32(dt.Rows[0][8]) == 1) 
                { 
                    Label7.Text = "有存货"; 
                } 
                Image1.ImageUrl = "~/picture/" + dt.Rows[0][7].ToString(); 
            } 
        } 
        }