如何返回到上一个搜索页面而不被要求确认表单重新提交,并使用c#在ASP.NET经典Web表单上保留结果?

如何返回到上一个搜索页面而不被要求确认表单重新提交,并使用c#在ASP.NET经典Web表单上保留结果?,c#,asp.net,webforms,C#,Asp.net,Webforms,我正在为学校做一个项目,我有这个页面和一些搜索结果。 当我返回搜索结果页面时,浏览器会要求“确认表单重新提交”,我希望避免这种情况 到目前为止,我还没有做任何事情来解决这个问题,除了在网上搜索解决方案之外,我还没有找到解决方案 浏览器消息: 确认表格重新提交 此网页需要您先前输入的数据才能正确显示。您可以再次发送此数据,但这样做会重复此页面以前执行的任何操作。 按重新加载按钮重新提交加载页面所需的数据。 ERR_CACHE_MISS问题在于您正在执行post请求,如果使用您的网页的人刷新了它,它

我正在为学校做一个项目,我有这个页面和一些搜索结果。 当我返回搜索结果页面时,浏览器会要求“确认表单重新提交”,我希望避免这种情况

到目前为止,我还没有做任何事情来解决这个问题,除了在网上搜索解决方案之外,我还没有找到解决方案

浏览器消息: 确认表格重新提交 此网页需要您先前输入的数据才能正确显示。您可以再次发送此数据,但这样做会重复此页面以前执行的任何操作。 按重新加载按钮重新提交加载页面所需的数据。
ERR_CACHE_MISS

问题在于您正在执行post请求,如果使用您的网页的人刷新了它,它会执行它应该执行的操作重新提交post请求


因此,无法阻止此问题的发生,您可以做的是更改从post请求获取值的方式以获取请求。

您好。找到了问题的解决方案。

所以我所做的是,将值存储在会话中,重定向到循环页面并返回,然后在表单加载时执行搜索。现在我可以毫无问题地来回走动了。以下是我使用的代码:

搜索页面:

protected void btnSearch_Click(object sender, EventArgs e) 
{ 
   Session["searchValue"] = txtSearchValue.Text; 
   Response.Redirect("loopPage.aspx"); 
} 
LoopPage.aspx上的代码:

protected void Page_Load(object sender, EventArgs e)
{ 
   Response.Redirect("searchPage.aspx"); 
} 
再次搜索页面:

protected void Page_Load(object sender, EventArgs e) 
{ 
   if (Session["searchValue"] != null) 
   { 
      ...preform search and create objects to present results...
   } 
}

当您从结果返回时?当我在单击结果项并查看其页面后返回结果页面时。嗨,Brian。我现在有一个发光的时刻。我没有看到如何将POST中的请求转换为GET,因为我总是需要输入搜索值才能获得结果。但现在我躺在床上,思考问题并解决了!!如果问题是数据输入(搜索值),我需要做的是不要输入搜索值。当页面加载时,它必须已经存在。通过这种方式,我将其转换为一个GET as you where say!:)所以我所做的是,将值存储在会话中,重定向到循环页面并返回,然后在表单加载时执行搜索。感谢您搜索按钮:受保护的无效btnSearch_Click(对象发送方,事件参数e){Session[“searchValue”]=txtSearchValue.Text;Response.Redirect(“loopPage.aspx”);}loopPage.aspx上的代码:受保护的无效页面加载(对象发送方,事件参数e){Response.Redirect(“searchForm.aspx”)}searchForm上的代码:受保护的无效页面_Load(对象发送方,事件参数e){DAL x=new DAL();if(Session[“searchValue”!=null){…search}