C# 如何在asp.net c中结束和恢复会话
是否可以在asp.net c中清除一个页面上的会话值并在另一个页面上恢复该会话?怎样我正在清除page1.aspx上的会话,然后重定向到page2.aspx,该会话应恢复。 到目前为止,我已经尝试过: 会话。放弃 但它不起作用 代码在第一页。会话[searchText]正在产生问题C# 如何在asp.net c中结束和恢复会话,c#,asp.net,session,session-state,C#,Asp.net,Session,Session State,是否可以在asp.net c中清除一个页面上的会话值并在另一个页面上恢复该会话?怎样我正在清除page1.aspx上的会话,然后重定向到page2.aspx,该会话应恢复。 到目前为止,我已经尝试过: 会话。放弃 但它不起作用 代码在第一页。会话[searchText]正在产生问题 else if (RadTabStrip1.SelectedIndex == 1) { if (!Permissions.checkPermissions(Session["employeeloggedin"
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;在第一页,这就是为什么在第二页,我无法访问它。更新:
根据op要求,会话[searchtext]返回到第一页时不应相同。因此,我写下面的解决方案来解决这个问题
第一页:
Session["Searchtext"] = "something";
第二页:
Session["Searchedtext"] = Session["Searchtext"];
Session["Searchtext"] = "";
旧答案:
在访问之前,请检查它是否为空
if(Session["searchText"]!=null)
{
//do your stuffs
}
为什么在下一页需要时清除会话。跨页面的数据持久性是会话的本质。它的要求是。我必须清除会话,因为如果我不清除会话。我在特定页面上获取了不必要的数据。如果您确实需要清除第1页上的会话并在第2页获取它,我认为您可以将值存储在服务器临时数据、cookie。。。然后在第2页访问它,2使用query stringgreat将值传递给第2页。让我试试这个,我已经在第1.aspx页上做了。但是它在page2.aspx上的问题我必须清除page1.aspx上的会话,并且我必须访问page2.aspx上的会话@你的问题本身使人困惑。我用一个例子来假设你的情景。我正在进行会话[First],该会话将字符串名称作为“Test”保存在第一页中。如果我想在第二个页面上访问它,那么我可以使用字符串secondpage=Session[First]简单地完成;你的问题是什么?。您想覆盖第二页中的同一个会话[第一页]?我确实想这样做,但我正在按照要求清除该会话,因此我无法访问您评论中的第二页,因为我已清除该会话。但我还是想恢复它,你不能这么做。我们可以通过两种方式进行清除,一种是使用Session[searchtext]=;以及其他正在使用Session.about;的用户;。在这两方面,你都不能这样做。因为您正在清除其中的值。它如何知道先前的值?。您可以将第一页会话的值分配到其他模式并清除该会话。和检索回值,并分配给同一会话。