我现在做毕设的时候,碰到一个页面刷新问题,我主要做的是一个搜索界面(称为界面A),和一个搜索结果显示界面(称为界面B) A中有两个textbox,一个用于关键字,另一个用于城市属性,还有一个BUTTON,我把A中信息填好以后传值到B界面,然后在B中的Page_Load函数中接收值并实现搜索,
现在我想在B中再添加和A中一样的两个textbox、一个BUTTON,从而实现在B中可以重新搜索
下面是我A中BUTTON的click代码:
private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
Session["input"]=input.Value.ToString().Trim();
Session["incity"]=Textbox1.Text.ToString().Trim();
string url;
url="B.aspx?input="+input.Value.Trim()+"&incity="+Textbox1.Text.Trim();
Response.Redirect(url);
}然后在B中的Pageload中:用SerchKey=Request.QueryString["input"];
city=Request.QueryString["incity"];接收值并实现了搜索我在B中的BUTTON的CLICK代码为:
private void Button1_Click(object sender, System.EventArgs e)
{
Session["input"]=TextBox2.Text.ToString();
Session["incity"]=TextBox3.Text.ToString();
string url;
url="B.aspx?input="+TextBox2.Text+"&incity="+TextBox3.Text;
Response.Redirect(url);
}
问题出来了:我想在B调出来的时候,TextBox1和TextBox2中先保存A中对应的值,然后我再在B中改值,按button以后可以重新搜索,可是当我把TextBox1.Text=SerchKey;TextBox2.Text=city;放到B里面pageload中任何位置时,重新搜索,始终两个TextBox都是显示先前的结果值,不能改变;
当我把TextBox1.Text=SerchKey;TextBox2.Text=city;删掉以后,A输值,B调出来时B中两个TextBox都是显示空值,但是可以在他们里面重新输入值,重新搜索成功!
我想实现我要求的功能时,应该如何添加TextBox1.Text=SerchKey;TextBox2.Text=city;还是应该用其他方法?急死我了,望高手们帮帮小弟!感激不尽!
现在我想在B中再添加和A中一样的两个textbox、一个BUTTON,从而实现在B中可以重新搜索
下面是我A中BUTTON的click代码:
private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
Session["input"]=input.Value.ToString().Trim();
Session["incity"]=Textbox1.Text.ToString().Trim();
string url;
url="B.aspx?input="+input.Value.Trim()+"&incity="+Textbox1.Text.Trim();
Response.Redirect(url);
}然后在B中的Pageload中:用SerchKey=Request.QueryString["input"];
city=Request.QueryString["incity"];接收值并实现了搜索我在B中的BUTTON的CLICK代码为:
private void Button1_Click(object sender, System.EventArgs e)
{
Session["input"]=TextBox2.Text.ToString();
Session["incity"]=TextBox3.Text.ToString();
string url;
url="B.aspx?input="+TextBox2.Text+"&incity="+TextBox3.Text;
Response.Redirect(url);
}
问题出来了:我想在B调出来的时候,TextBox1和TextBox2中先保存A中对应的值,然后我再在B中改值,按button以后可以重新搜索,可是当我把TextBox1.Text=SerchKey;TextBox2.Text=city;放到B里面pageload中任何位置时,重新搜索,始终两个TextBox都是显示先前的结果值,不能改变;
当我把TextBox1.Text=SerchKey;TextBox2.Text=city;删掉以后,A输值,B调出来时B中两个TextBox都是显示空值,但是可以在他们里面重新输入值,重新搜索成功!
我想实现我要求的功能时,应该如何添加TextBox1.Text=SerchKey;TextBox2.Text=city;还是应该用其他方法?急死我了,望高手们帮帮小弟!感激不尽!
应该是
if(!IsPostBack)
{
//搜索代码
}
Page_Load:if(!IsPostback) {
TextBox2.Text=Request.QueryString["input"];
TextBox3.Text=Request.QueryString["incity"];
}
if(!IsPostBack)
{
SerchKey=Request.QueryString["input"];
city=Request.QueryString["incity"];
TextBox1.Text=SerchKey;
TextBox2.Text=city;
//搜索处理
}