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

how to end and restore session in asp.net c#

是否可以在 asp.net c# 中清除一页上的会话值并在另一页上恢复该会话?如何?我正在清除 page1.aspx 上的会话,然后重定向到 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; 这就是为什么在第二页上我无法访问它的原因。

更新:

根据操作要求,Session[searchtext] 在 return 返回第一页时不应相同。因此,我正在编写以下解决方案来解决这个问题。

第一页:

Session["Searchtext"] = "something";

第二页:

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

旧答案:

你这边简单,访问前检查是否为null

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