如何在C#中更新查询字符串?

48

在URL中有一个&sortBy=6。我如何在点击按钮时将其更新为&sortBy=4或&sortBy=2?我需要编写自定义字符串函数来创建正确的重定向URL吗?

如果我只需要添加一个查询字符串变量,我会这样做:

string completeUrl = HttpContext.Current.Request.Url.AbsoluteUri + "&" + ...
Response.Redirect(completeUrl);

但是我想做的是修改一个现有的查询字符串变量。


3
听起来你希望将页面重定向到一个新的或更新过的网址。 - mservidio
1
我想在代码后台(服务器端)完成这个。 - developer747
您可以使用此类找到查询变量:http://msdn.microsoft.com/zh-cn/library/system.web.httprequest.querystring.aspx - mservidio
也许 UriBuilder 可以帮助你。 - brgerner
可能是更改单个URL查询字符串值的重复问题。 - Ahmad Mageed
https://dev59.com/enNA5IYBdhLWcg3wGJ0V - Tim Schmelter
11个回答

0
查询字符串被传递给服务器。你可以将查询字符串当作字符串处理,不过在页面准备好再次读取它之前(即发送回服务器之前),它不会起任何作用。所以如果你想知道如何处理查询字符串的值,只需简单地访问 Request.QueryString["key"]。如果你希望服务器考虑到查询字符串的这种“更改”,你只需要使用新值重新构建 URL,例如 page.aspx?id=30,然后将其传递给重定向方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接