ASP.NET Core 1または2を使用している場合Microsoft.AspNetCore.WebUtilities.QueryHelpers
は、Microsoft.AspNetCore.WebUtilitiesパッケージでこれを行うことができます。
ASP.NET Core 3.0以降を使用している場合、WebUtilities
はASP.NET SDKの一部になり、個別のnugetパッケージリファレンスを必要としません。
辞書にパースするには:
var uri = new Uri(context.RedirectUri);
var queryDictionary = Microsoft.AspNetCore.WebUtilities.QueryHelpers.ParseQuery(uri.Query);
ParseQueryString
System.Web とは異なり、これはIDictionary<string, string[]>
ASP.NET Core 1.xまたはIDictionary<string, StringValues>
ASP.NET Core 2.x以降のタイプの辞書を返すため、値は文字列のコレクションです。これは、ディクショナリが同じ名前の複数のクエリ文字列パラメーターを処理する方法です。
クエリ文字列にパラメーターを追加する場合は、別のメソッドを使用できますQueryHelpers
。
var parametersToAdd = new System.Collections.Generic.Dictionary<string, string> { { "resource", "foo" } };
var someUrl = "http://www.google.com";
var newUri = Microsoft.AspNetCore.WebUtilities.QueryHelpers.AddQueryString(someUrl, parametersToAdd);
.net core 2.2を使用すると、クエリ文字列を取得できます
var request = HttpContext.Request;
var query = request.query;
foreach (var item in query){
Debug.WriteLine(item)
}
キーと値のペアのコレクションを取得します-このように
[0] {[companyName, ]}
[1] {[shop, ]}
[2] {[breath, ]}
[3] {[hand, ]}
[4] {[eye, ]}
[5] {[firstAid, ]}
[6] {[eyeCleaner, ]}
Microsoft.AspNet.WebUtilties
できます。Mono.HttpUtility