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

时间:2015-07-14 05:51:04

标签: c# asp.net session session-state

是否可以在一个页面上清除会话值并在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;,这就是为什么在第二页上,我无法访问它。

1 个答案:

答案 0 :(得分:0)

<强>更新

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

第一页:

Session["Searchtext"] = "something";

第二页:

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

旧答案:

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

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