protected void btnSearch_Click(object sender, EventArgs e)
    {
    
        string StartDate = this.tbTargetCity.Text;
        string EndDate = this.tbTargetCity.Text;
        string CityCode = this.tbTargetCity.Text;
        string HotelName = this.tbHotelName.Text;
        Response.Redirect("HotelList.aspx?PageSize=10&nPages=1&StartDate=" + StartDate + "&EndDate=" + EndDate + "&CityCode=" + CityCode + "&HotelName=" + HotelName + "&PorName=&RankCode=" + this.ddlRank.SelectedItem.Value + "&RateMin=&RateMax=");
    }
我这样为什么在HotelList.aspx得不到值!!!!!!那里有错.

解决方案 »

  1.   

    你需要在HotelList.aspx页面获取Request.QueryString["参数名"]
      

  2.   

    HashTable ht = new Hashtable();
    ht.Add("StartDate",this.tbTargetCity.Text);
    ht.Add("EndDate",this.tbTargetCity.Text);
    ht.Add("CityCode",this.tbTargetCity.Text);
    ht.Add("HotelName",this.tbHotelName.Text);
    Session["info"] = ht;
    Response.Redirect("HotelList.aspx");
    In HotelList.aspx page:
    Hashtable ht = (Hashtable)Session["info"]
    string StartDate = ht["StartDate"].ToString(); 
            string EndDate = ht["EndDate"].ToString(); 
            string CityCode = ht["CityCode"].ToString(); 
            string HotelName = ht["HotelName"].ToString(); 
      

  3.   


    另外你需要在 response.redirect 时对参数进行 urlencode 编码, 在获取时再 urldecode 解码, 这样可以避免一些特殊字符
      

  4.   

         另外个页面我是这样 string RssUri = "tdplogicbookingcontroller?request=" + HotelAPI.GetSearchChar(10, 1, "20080808", "20080809", Request.QueryString["CityCode"].ToString(), Request.QueryString["HotelName"].ToString(), "", Request.QueryString["RankCode"].ToString(), 10, 1000);不是这边的问题..是第一个页面的问题......点按纽的不到服务器控件的值..
      

  5.   

    估计this.tbTargetCity.Text;.... 本身的值是空的
      

  6.   

    在点按扭的时候清空了this.tbTargetCity.Text的值然后才跳转...