Reindirizza all'azione con l'array querystring

Dec 04 2020

Sto cercando di eseguire un reindirizzamento all'azione con un array di stringa di query:

string[] variantIds = new { 
  "test1",
  "test2",
};

return RedirectToAction("SamplesOrderStep3", new { variantIds });

Ma questo reindirizza a

sample-order-step3?variantIds=System.String%5B%5D

Come posso farlo andare a

sample-order-step3?variantIds=test1&variantIds=test2

Risposte

2 Pete Dec 04 2020 at 21:15

Sembra che tu non sia in grado di reindirizzare direttamente usando il reindirizzamento all'azione - alla fine ho usato una miscela o Url.Actione Redirect:

return Redirect($"{Url.Action("SamplesOrderStep3")}?variantIds={string.Join("&variantIds=", variantIds)}");
YonatanGross Dec 04 2020 at 20:56

Credo che questo "Come ci si collega a un'azione che accetta un array come parametro (RedirectToAction e / o ActionLink)?" descrive la tua situazione, la risposta di Lee Smith sembra simile e utile.

OmarOdeh Dec 05 2020 at 00:17

Credo che sia meglio convertirlo in stringa con un separatore

string variantIdsString = "test1,test2";

Oppure prova a utilizzare un elenco di stringhe invece di un array.