如何在asp.net c#中结束和恢复会话

本文关键字:结束 恢复 会话 asp net | 更新日期: 2023-09-27 18:02:28

是否可以在asp.net c#中清除一个页面上的session值并在另一个页面上恢复该会话?如何?我正在清除page1上的会话。然后重定向到page2。aspx和该会话应该恢复。我已经试过了:

Session.Abandon()但它不工作

代码在第一页。Session["searchText]正在制造问题。

else if (RadTabStrip1.SelectedIndex == 1)
{
    if (!Permissions.checkPermissions(Session["employeeloggedin"].ToString(), "ACCTMODF"))
    {
        ScriptManager.RegisterStartupScript(this, Page.GetType(), "OnLoad", "alert('You must have the Accounts: modify permission to batch invoice!')", true);
    }
    else
    {
        // added by shiv on 07/14/2015
        Session["searchText"] = null;
        fillBatchInvoiceGrid();

第二页代码

if (e.CommandName == "alpha" || e.CommandName == "NoFilter")
{
    String value = null;
    switch (e.CommandName)
    {
        case ("alpha"):
        {
            value = string.Format("{0}", e.CommandArgument);
            break;
        }
        case ("NoFilter"):
        {
            value = "%";
            Session["searchDuplicate"] = null;
            Session["searchCusSalesRep"] = null;
            break;
        }
    }
    // Session["searchletter"] = value;
    Session["searchType"] = "1";
    Session["searchText"] = value;
    Session["searchFilter"] = "1";

我在第一页制作Session[searchText] = null;,这就是为什么在第二页,我不能访问它

如何在asp.net c#中结束和恢复会话

更新:

根据op的要求,Session[searchtext]返回到第一页时不应该是相同的。因此,我写下面的解决方案来解决这个问题。

第一页:

Session["Searchtext"] = "something";

第二页:

Session["Searchedtext"] = Session["Searchtext"];
Session["Searchtext"] = "";

老答:

在你的部分很简单,在访问之前,检查是否为空。

if(Session["searchText"]!=null)
{
  //do your stuffs
}