Jika Anda menggunakan ASP.NET Inti 1 atau 2, Anda dapat melakukan ini dengan Microsoft.AspNetCore.WebUtilities.QueryHelpersdi Microsoft.AspNetCore.WebUtilities paket.
Jika Anda menggunakan ASP.NET Core 3.0 atau yang lebih baru, WebUtilitiessekarang menjadi bagian dari ASP.NET SDK dan tidak memerlukan referensi paket nuget terpisah.
Untuk menguraikannya menjadi kamus:
var uri = new Uri(context.RedirectUri);
var queryDictionary = Microsoft.AspNetCore.WebUtilities.QueryHelpers.ParseQuery(uri.Query);
Perhatikan bahwa tidak seperti ParseQueryStringdi System.Web, ini mengembalikan jenis kamus IDictionary<string, string[]>di ASP.NET Core 1.x, atau IDictionary<string, StringValues>di ASP.NET Core 2.x atau lebih tinggi, jadi nilainya adalah kumpulan string. Beginilah cara kamus menangani beberapa parameter string kueri dengan nama yang sama.
Jika Anda ingin menambahkan parameter ke string kueri, Anda dapat menggunakan metode lain di 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);
Menggunakan .net core 2.2 Anda bisa mendapatkan string kueri menggunakan
var request = HttpContext.Request;
var query = request.query;
foreach (var item in query){
Debug.WriteLine(item)
}
Anda akan mendapatkan kumpulan pasangan kunci: nilai - seperti ini
[0] {[companyName, ]}
[1] {[shop, ]}
[2] {[breath, ]}
[3] {[hand, ]}
[4] {[eye, ]}
[5] {[firstAid, ]}
[6] {[eyeCleaner, ]}
Microsoft.AspNet.WebUtiltiesmungkinMono.HttpUtilityperpustakaan .