我有一个搜索文本框和一个搜索按钮,单击时显示具有以下名称和性别的网格。但是,我已将该页面重定向到edit.Now上的另一个页面当我从该页面到包含gridview的页面我想再次显示相同的搜索。我已成功将检索到的信息存储到会话中,但我无法呼叫我的btn_click事件@ page_Load。在page_load上调用button_click asp.net
这里有一个片段:
编辑:我已经在我的代码
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();
}
现在我能保存搜索,以便问题得到解决,但另一个已经强化了,当我在changin文本之后单击按钮搜索时,它将我带回到较旧的搜索中。 ason可能是因为会话没有被清除,但我也是这样处理了textchanged和selectedindexchanged eventd。
请注意搜索文本 - 它看起来很容易受到SQL注入攻击,但是如果用户非恶意地包含撇号,也会失败。 –
我知道it.I'rllfy它,这只是测试code.Thanks – Pavitar