如何将宝贵的页面(有最后一个会话)从页面返回到另一个页面?

时间:2015-10-27 10:53:09

标签: c# asp.net

我单击Article.aspx中的一个按钮,完成处理后,我希望它返回到另一页上一页,SectionOver.aspx,我还希望它包含以前的搜索结果。

asp.net

<asp:Button ID="btnSaveArticle" runat="server" Text="<%$ Resources:General, Action_Save %>" Width="100px" OnCommand="btnSaveArticle_Command" OnClientClick="return ConfirmSave();  " />

C#:

protected void btnSaveArticle_Command(object sender, CommandEventArgs e){          
        saveArticleProcess(e.CommandArgument.ToString(), "Save");
        btnCancel_Command(null, null);
    }
protected void btnCancel_Command(object sender, CommandEventArgs e)
    {
        if (IsPostBack)
        {
            btnUnlock_Click(null, null);
            Response.Redirect("SectionOverview.aspx");
            ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "_ReloadPage", "closeWindowevent()", true);
        }
    }

它可以返回上一页,但这是一个页面,它不包含以前的搜索结果。

1 个答案:

答案 0 :(得分:0)

从搜索中获得结果后,我假设是大量数据。您可以将其放在缓存中并在另一端检索它。

类似的东西:

要插入:

HttpContext.Current.Cache.Insert("UNIQUE SEARCH KEY", dataTable, null, DateTime.Now.AddHours(1), System.Web.Caching.Cache.NoSlidingExpiration);

要检索

public DataTable GetDataTableFromCacheOrDatabase()
{
   DataTable dataTable = HttpContext.Current.Cache["UNIQUE SEARCH KEY"] as DataTable;
   if(dataTable == null)
   {
       dataTable = GetDataTableFromDatabase();
       HttpContext.Current.Cache["UNIQUE SEARCH KEY"] = dataTable;
   }
   return dataTable;
}

如果您只有小数据,那么您也可以使用查询字符串。

string s = "~/SectionOverview.aspx?";
s += "Id=" + someId;
Response.Redirect(s);

检索

Request.QueryString["Id"];

RefRef