Kar*_*ten 14 c# asp.net query-string
我有一个URL也可能有一个查询字符串部分,查询字符串可能是空的或有多个项目.
我想替换查询字符串中的一个项目,或者如果该项目尚不存在则添加它.
我有一个带有完整URL的URI对象.
我的第一个想法是使用正则表达式和一些字符串魔法,应该这样做.
但它似乎有点摇摇欲坠,也许框架有一些查询字符串构建器类?
Chr*_*ris 42
我发现这是一个更优雅的解决方案
var qs = HttpUtility.ParseQueryString(Request.QueryString.ToString());
qs.Set("item", newItemValue);
Console.WriteLine(qs.ToString());
Run Code Online (Sandbox Code Playgroud)
psu*_*lek 19
让我们有这个网址:
https://localhost/video?param1=value1
首先将特定查询字符串参数更新为新值:
var uri = new Uri("https://localhost/video?param1=value1");
var qs = HttpUtility.ParseQueryString(uri.Query);
qs.Set("param1", "newValue2");
Run Code Online (Sandbox Code Playgroud)
接下来创建UriBuilder
并更新Query
属性以生成具有更改的参数值的新uri.
var uriBuilder = new UriBuilder(uri);
uriBuilder.Query = qs.ToString();
var newUri = uriBuilder.Uri;
Run Code Online (Sandbox Code Playgroud)
现在你有newUri
这个价值:
https://localhost/video?param1=newValue2
小智 5
我使用以下方法:
public static string replaceQueryString(System.Web.HttpRequest request, string key, string value)
{
System.Collections.Specialized.NameValueCollection t = HttpUtility.ParseQueryString(request.Url.Query);
t.Set(key, value);
return t.ToString();
}
Run Code Online (Sandbox Code Playgroud)
也许你可以使用这个System.UriBuilder
课程。它有一个Query
属性。
归档时间: |
|
查看次数: |
28960 次 |
最近记录: |