a.aspx中是查询页面 一个按名称 一个按类别
名称文本框是输入想要查询的关键字
类别是下拉文本,已经和数据库的数据源绑定好了
查询结果在GridView中显示
功能已经实现,这没问题我的问题是
现在又有一个b.aspx页面
里面只有 名称文本框 和 类别是下拉文本
类别下拉文本也已绑定好了
怎样实现我在b中输入查询关键词,点击查询后 先然后转到a 然后a中的GridView显示查询结果,同时不影响a的本页查询,当在a中在重新输入查询关键词时,a中的GridView显示新的查询结果。
当不输入名称只选择了类别是,GridView中显示所有这一类别的数据。
谢谢
名称文本框是输入想要查询的关键字
类别是下拉文本,已经和数据库的数据源绑定好了
查询结果在GridView中显示
功能已经实现,这没问题我的问题是
现在又有一个b.aspx页面
里面只有 名称文本框 和 类别是下拉文本
类别下拉文本也已绑定好了
怎样实现我在b中输入查询关键词,点击查询后 先然后转到a 然后a中的GridView显示查询结果,同时不影响a的本页查询,当在a中在重新输入查询关键词时,a中的GridView显示新的查询结果。
当不输入名称只选择了类别是,GridView中显示所有这一类别的数据。
谢谢
但是当我只选择一个类别查询时,转到a后没结果。而在a中重新选择这一类别查询,却显示出了结果
代码是这样的 求正解
if (!IsPostBack)
{
InitData();
selectchx.Items.Clear();
selectyqName.Text = Request.QueryString["mingcheng"];
string ss = Request.QueryString["leibie"];
selectchx.Items.Add(new ListItem(ss,"0"));
selectchx.DataMember = selectchx.Text;
Query();
ResetQueryValue();
//selectchx.Items.Clear();
//InitData();
}
} /// <summary>
/// 初始化页面数据
/// </summary>
protected void InitData()
{
//初始化:类别下拉框中的数据,用Category表中的数据进行绑定
DataTable dt = Category.Query(new Hashtable());
selectchx.Items.Clear();
selectchx.Items.Add(new ListItem("全部", ""));
foreach (DataRow dr in dt.Rows)
{
selectchx.Items.Add(new ListItem(dr["CategoryName"].ToString(), dr["CategoryId"].ToString()));
}
}
/// <summary>
/// 根据页面上用户输入的查询条件,查询仪器数据
/// </summary>
private void Query()
{
//初始化:GridView的数据源
Hashtable queryItems = new Hashtable();
queryItems.Add("yqName", selectyqName.Text);
queryItems.Add("yqleibieId", selectchx.SelectedValue);
DataTable dt = Yq.Queryyqs(queryItems); GV.DataSource = dt;
GV.DataBind(); //保存下拉框的选择项到ViewState数组对象
ViewState.Add("selectchx", selectchx.SelectedValue); LabelPageInfo.Text = "查询结果(第" + (GV.PageIndex + 1).ToString() + "页 共" + GV.PageCount.ToString() + "页)";
}
/// <summary>
/// “查询”按钮单击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void selecebutton_Click(object sender, System.EventArgs e)
{
Query(); //查询仪器数据
ResetQueryValue(); //恢复下拉框选择项
}