使用 http 定位点和参数的响应重定向会导致参数丢失

本文关键字:参数 重定向 定位 http 使用 响应 | 更新日期: 2023-09-27 18:33:39

我试图让用户编辑一些数据,在页面中向下,当他发布它们时,允许他返回到页面上的同一点。上述点标有良好的 HTMLAnchor:

<a name="point_in_page">

当用户发布数据时,我触发响应重定向到同一页面:

Response.Redirect("Tickets.aspx#point_in_page");

但这会导致参数丢失。所以我尝试将其作为查询字符串传递:

Response.Redirect("Tickets.aspx#point_in_page?IDTicket='"" + IDTicket + "'"",false); 

但是我无法通过以下方式恢复参数:

string IDTicket = Request.QueryString["IDTicket"];  

有什么办法可以做到这一点吗?(如果我重定向到没有锚点的 url,我可以恢复它,很难)。

谢谢!

使用 http 定位点和参数的响应重定向会导致参数丢失

重新排序查询字符串和哈希组件,查询字符串应排在第一位。

服务器将忽略哈希之后的所有内容,因为它仅供客户端使用。

话虽如此,这应该有效:

Response.Redirect("Tickets.aspx?IDTicket='"" + IDTicket + "'"#point_in_page",false);

如果您在查询字符串之前在 url 中使用哈希组件,则会导致错误。因此,您需要重新排列数据,即首先添加查询字符串值。

Response.Redirect("Tickets.aspx?IDTicket='"" + IDTicket + "'"#point_in_page",false);