如何返回到上一个搜索页面而不被要求确认表单重新提交,并使用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}