Jika Anda menggunakan ASP.NET Inti 1 atau 2, Anda dapat melakukan ini dengan Microsoft.AspNetCore.WebUtilities.QueryHelpers
di Microsoft.AspNetCore.WebUtilities paket.
Jika Anda menggunakan ASP.NET Core 3.0 atau yang lebih baru, WebUtilities
sekarang 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 ParseQueryString
di 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.WebUtilties
mungkinMono.HttpUtility
perpustakaan .