0

我有一个 asp.net 下拉列表和一个 asp.net gridview 控件。在更改下拉列表元素时,会从数据库中获取一个新行。

我将其存储在会话中。下次下拉列表元素发生更改时,将从数据库中获取一个新行,我也想将该行添加到会话中。

我有下面的 dropdownlist_selectedIndexchanged 事件:

protected void ddlClient_SelectedIndexChanged(object sender, EventArgs e)
    {
    int x = int.Parse(ddlClient.SelectedValue);

    DataSet ds = GetRowFromDatabase( x);
    Session["old"] = ds;
    ((DataSet)Session["old"]).Merge(ds);

    gridview.DataSource = Session["old"] ;
    gridview.DataBind();

}

每次我的下拉列表更改时,我无法弄清楚如何继续在会话变量中附加我的行?

4

1 回答 1

2
protected void ddlClient_SelectedIndexChanged(object sender, EventArgs e)
    {
    int x = int.Parse(ddlClient.SelectedValue);

    DataSet ds = GetRowFromDatabase( x);

    //the first time initialize the session variable
    if(Session["old"] == null)
    {
        Session["old"] = ds;
    }
    else
    { 
        ((DataSet)Session["old"]).Merge(ds);
    }

    gridview.DataSource = Session["old"] ;
    gridview.DataBind();

}
于 2013-08-27T15:42:28.233 回答