.NET Framework的System.Web中有个HttpUtility.ParseQueryString()静态方法,请问在.NET Core中的对应实现是什么?
遇到过这个问题,采用QueryHelpers.ParseQuery()
做的替换,需要引入包Microsoft.AspNetCore.WebUtilities
不足之处是没有重写ToString()
方法来生成组装后的Url,所以手动写了一个扩展方法:
public static string ToQueryString(this Dictionary<string, StringValues> dict)
{
return string.Join("&", dict.Select(x => $"{x.Key}={x.Value}"));
}
不知道有没有更好的解决方案
最终采用 QueryHelpers.ParseQuery() 结合 QueryString.Create() 实现了。
var url = uri.AbsolutePath + QueryString.Create(dict).ToUriComponent();