我有一個搜索文本框和一個搜索按鈕,單擊時顯示具有以下名稱和性別的網格。但是,我已將該頁面重定向到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