我需要重定向回当前页面减去任何查询参数。
我刚刚找到Request.Url.AbsolutePath
,看起来它只提供传递给Response.Redirect()
的票证。
似乎可以在我的开发机器上工作了。有没有人知道重定向到这个属性值的任何潜在问题?在所有情况下都很难确认它是“安全的”。
答案 0 :(得分:2)
如果您在内部“重写”URL,则可能会出现问题。例如,用户请求“/team.aspx”,但在内部您传输执行或将URL重写为“/page.aspx?id=137”。
就个人而言,我更喜欢使用Request.RawUrl(它总是本地的),你可以剥离查询字符串。
删除请求的主机部分不是问题,因为HTTP重定向可以是绝对路径上的路径(“/ foo / bar”),浏览器将保留协议,端口和主机名。
答案 1 :(得分:0)
我会使用Request.Url.OriginalString。
绝对路径会删除网址的主机部分。
看看这个:http://wdevs.blogspot.com/2009/03/url-properties-of-request-to-aspnet.html