Redirigir a la acción con la matriz de cadenas de consulta

Dec 04 2020

Estoy tratando de hacer una redirección a la acción con una matriz de cadenas de consulta:

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

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

Pero esto redirige a

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

¿Cómo consigo que vaya a

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

Respuestas

2 Pete Dec 04 2020 at 21:15

Parece que no puede redirigir directamente usando la redirección a la acción; al final usé una mezcla o Url.Actiony Redirect:

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

Creo esto '¿Cómo se vincula a una acción que toma una matriz como parámetro (RedirectToAction y / o ActionLink)?' describe su situación, la respuesta de Lee Smith parece similar y útil.

OmarOdeh Dec 05 2020 at 00:17

Creo que es mejor si lo convierte en cadena con un separador

string variantIdsString = "test1,test2";

O intente usar una lista de cadenas en lugar de una matriz.