Код: Выделить всё
?param=foo¶m=escape%2CtestКод: Выделить всё
?param=foo,escape%2CtestКод: Выделить всё
["foo", "escape,test"]Я был удивлен, обнаружив, что параметры обработки строки запроса, доступные мне либо не поддерживали синтаксис запятой, либо URL декодировал строку запроса как часть группировки параметров.
Код: Выделить всё
[i]System.Web.[/i]HttpUtility.ParseQueryString[/b]Код: Выделить всё
[i]Microsoft.AspNetCore.WebUtilities.[/i]QueryHelpers.ParseQuery[/b]Код: Выделить всё
[i]Microsoft.AspNetCore.Http.[/i]HttpRequest.Query[/b]Код: Выделить всё
var qs = "?param=foo,escape%2Ctest";
var a = httpRequest.Query["param"];
// ["foo,escape,test"]
var b = HttpUtility.ParseQueryString(qs)["param"];
// "foo,escape,test"
var c = QueryHelpers.ParseQuery(qs)["param"];
// ["foo,escape,test"]
< /code>
Я немного удивлен, что нет поддержки отдельного формата запятой. И я очень удивлен, что, похоже, нет способа получить сегментированную строку запроса без декодирования параметров строки запроса (что предотвращает различие между Param = foo, Escape%2ctest Я буду публиковать свое текущее решение в качестве «Ответ», но я буду не буду я буду не буду я стараться. Я не буду использовать. Если кто -то сможет указать на то, что я здесь пропустил, я буду признателен.
Подробнее здесь: https://stackoverflow.com/questions/712 ... mma-syntax
Мобильная версия