Перенаправление к действию с массивом строки запроса
Dec 04 2020
Я пытаюсь выполнить перенаправление к действию с массивом строки запроса:
string[] variantIds = new {
"test1",
"test2",
};
return RedirectToAction("SamplesOrderStep3", new { variantIds });
Но это перенаправляет на
sample-order-step3?variantIds=System.String%5B%5D
Как мне заставить его перейти в
sample-order-step3?variantIds=test1&variantIds=test2
Ответы
2 Pete Dec 04 2020 at 21:15
Похоже, вы не можете перенаправить напрямую с помощью перенаправления на действие - в конце концов я использовал смесь или Url.Action
и Redirect
:
return Redirect($"{Url.Action("SamplesOrderStep3")}?variantIds={string.Join("&variantIds=", variantIds)}");
YonatanGross Dec 04 2020 at 20:56
Я считаю, что это «Как связать действие, которое принимает массив в качестве параметра (RedirectToAction и / или ActionLink)?» описывает вашу ситуацию, ответ Ли Смита кажется похожим и полезным.
OmarOdeh Dec 05 2020 at 00:17
Я считаю, что лучше преобразовать в строку с разделителем
string variantIdsString = "test1,test2";
Или попробуйте использовать список строк вместо массива.