gpt4 book ai didi

c# - ASPX : Redirect, 删除 QueryString 但不在浏览器中创建历史记录

转载 作者:行者123 更新时间:2023-11-30 17:21:23 26 4
gpt4 key购买 nike

我正在寻找一种方法来摆脱页面的查询字符串并重定向到自身,但以某种方式保留查询字符串数据。示例:http://www.test.de/somepage.aspx?id=abc 应该重定向到 http://www.test.de/somepage.aspx。不过,在重定向之后,我希望能够获取最初传递的参数。而且我不想在浏览器的历史记录中有 http://www.test.de/somepage.aspx?id=abc

到目前为止我尝试了什么:

  • Response.Redirect():在不创建浏览器历史记录的情况下进行正确的重定向,但我无法保留参数。

  • Server.Transfer:保留参数,但浏览器的 URL 保持不变。

  • 动态创建客户端表单并在 onload 中提交:有效,查询字符串消失,可通过 Request.Form 访问参数,但会在浏览器中创建一个历史条目。

我目前唯一能想到的是将参数存储在 session 中,然后重定向,然后从那里获取它们。但也许还有另一种解决方案?

最佳答案

正如Pete 提到的,您可以将查询字符串参数保存在Session 中,然后调用Response.Redirect 重定向到第二个页面

Session["id"] = Request["id"];
Session["param2"] = Request["param2"];
Session["param3"] = Request["param3"];
....
Response.Redirect(sameurl);

在页面的第二次加载中检查查询字符串值是否消失。如果是,则不从查询字符串中读取值,而是从 session 中读取值。

id = Session["id"];
param2 = Session["param2"];
param3 = Session["param3"];
...

关于c# - ASPX : Redirect, 删除 QueryString 但不在浏览器中创建历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3521880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com