我有一个asp.net下拉列表和一个asp.net gridview控件。 在更改dropdownlist元素时,将从数据库中提取一个新行。
我将它存储在一个会话中。接下来,dropdownlist元素会有变化,会有 是从数据库中获取的新行,我也想将该行添加到会话中。
我在下面有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();
}
每次我的下拉列表更改时,我都无法弄清楚如何在会话变量中追加我的行?
答案 0 :(得分: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();
}