假设我有链接 http://www.somesite.com/file.aspx?a=1&b=2
现在我想删除所有参数,所以它变成了:
http://www.somesite.com/file.aspx
或者我可能只想删除其中一个参数,例如
http://www.somesite.com/file.aspx?b=2
有没有办法在 C# 中完成上述操作?发生的事情是我来自另一个页面,在 url 中有一个名为 edit 的参数,但是当页面回发时,edit 参数仍然存在,所以它仍然认为它处于编辑模式。示例:
用户 A 转到 page one.aspx 并单击编辑链接。它们被带到 two.aspx?edit=true。在页面加载期间,它发现查询字符串参数 edit 不为空,并将内容置于编辑模式。一旦用户完成编辑,页面就会刷新,但 url 仍然是 two.aspx?edit=true 并保持内容处于编辑模式,而实际上它应该是 two.aspx
最佳答案
Request.Querystring 是只读集合 - 您不能修改它。
如果您需要删除或更改查询字符串中的参数,唯一的出路是使用更新的查询字符串触发新的 GET 请求 - 这意味着您必须使用更新的 URL 执行 Response.Redirect。这将导致您丢失当前页面的 View 状态。
关于c# - 如何从 url 中删除查询字符串参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1951038/