У меня есть текстовое поле поиска и кнопка поиска, при нажатии на которую отображается сетка со следующими именами и полом. Однако я перенаправил страницу на другую страницу при редактировании. Теперь, когда я возвращаюсь с этой страницы на страницу, содержащую вид сетки Я хочу снова отобразить тот же поиск. Я успешно поместил извлеченную информацию, но сохранил ее в сеансе, но я не могу вызвать мое событие btn_click @ page_Load.
Вот фрагмент:
РЕДАКТИРОВАТЬ: Я сделал некоторые изменения в моем коде
protected void Page_Load(object sender, EventArgs e)
{
if (Session["Redirected"] != null)
{
if (Session["FirstName"] != null)
txtSearch.Text = Session["FirstName"].ToString();
if (Session["Gender"] != null)
ddlGen.SelectedValue = Session["Gender"].ToString();
btnSearch_Click(sender, e);
}
if (!Page.IsPostBack)
{
BindGrid();
}
}
и вот событие щелчка:
protected void btnSearch_Click(object sender, EventArgs e)
{
string query = "Select EmployeeId,FirstName,Password,Address,sex,Deptno,act_book,actTV,DOJ,isActiveYN from employees where 1=1";
if (txtSearch.Text != "")
{
query += " and FirstName like '%" + txtSearch.Text + "%'";
Session["FirstName"] = txtSearch.Text;
}
if (ddlGen.SelectedValue != "")
{
query += " and sex='" + ddlGen.SelectedValue.ToUpper() + "'";
Session["Gender"] = ddlGen.SelectedValue;
}
DataSet ds = new DataSet("Employees");
SqlConnection con = new SqlConnection("Password=admin;User ID=admin;Initial Catalog=asptest;Data Source=dbsvr");
SqlDataAdapter da = new SqlDataAdapter(query, con);
da.Fill(ds);
gvSession.DataSource = ds;
gvSession.DataBind();
}
Теперь я могу сохранить поиск, чтобы эта проблема была решена, но всплыла другая проблема: когда я нажимаю кнопку поиска после изменения текста, он возвращает меня к старому поиску. Причина, вероятно, в том, что сеансы не очищен, но я также сделал это, обработав текстовое сообщение и selectedindexbound eventd.