如何从网址中删除查询字符串参数?

Xai*_*oft 2 c# asp.net query-string

假设我有链接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#中执行上述操作?发生的事情是我来自另一个页面,在网址中有一个名为edit的参数,但当页面回发时,编辑参数仍然存在,所以它仍然认为它处于编辑模式.例:

用户A转到第one.aspx页并点击编辑链接.他们被带到two.aspx?edit = true.在页面加载期间,它看到查询字符串参数edit不为null并且它将内容置于编辑模式.用户完成编辑后,页面会刷新,但网址仍为two.aspx?edit = true并保持内容处于编辑模式,实际上应该是two.aspx

thi*_*eek 11

Request.Querystring是只读集合 - 您无法修改它.

如果您需要删除或更改查询字符串中的参数,那么只能触发带有更新的查询字符串的新GET请求 - 这意味着您必须使用更新的URL执行Response.Redirect.这将导致您丢失当前页面的视图状态.