如何在用户注销时将会话数据存储到数据库中

时间:2013-01-28 07:36:29

标签: c# asp.net session

我在DropdownList中有1 Textbox和2 page1.aspx ..我输入我的搜索条件,然后点击go填充结果。

现在我转到page2.aspx ..这里我有两个Textbox ..我做同样的事情,我在page1.aspx做了。

现在当我回到page1.aspx时,我输入的搜索条件不存在,它已经回到了它的默认值。我想要的是当我回到旧页面时保留搜索条件。

当用户(不是匿名用户)注销和登录时也应该保留它。

我尝试使用sessions,但它没有用完。

考虑使用session+database,但不知道如何使用它。

2 个答案:

答案 0 :(得分:0)

您必须将搜索条件存储在特定于用户的新表中的数据库中。您可以在用户点击“搜索”按钮时在表格中添加/修改搜索条件。如果在登录用户的表中找不到记录,则加载页面上的默认值。您可以将搜索条件保存在xml或任何舒适的字符串中。

答案 1 :(得分:0)

我认为在这些情况下,您可以保存cookies中的设置:

当用户选择dropdownlist保存项

protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
    {
        HttpCookie hc = new HttpCookie("NameOfCookie");
        hc.Expires = DateTime.Now.AddSeconds(60);//this cookie will be remove after 60 seconds.
        hc.Value = ddl.SelectedValue;// save here for later using
        Response.Cookies.Add(hc);//sending to user
    }

page loading事件中从cookie获取值:

if (Request.Cookies.Get("NameOfCookie") != null)
{
      string value= Request.Cookies.Get("NameOfCookie").Value;
      ddl.Items.FindByValue(value).Selected = true;
}