Redirecionar para a ação com a matriz querystring

Dec 04 2020

Estou tentando fazer um redirecionamento para a ação com uma matriz de querystring:

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

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

Mas isso redireciona para

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

Como faço para ir para

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

Respostas

2 Pete Dec 04 2020 at 21:15

Parece que você não consegue redirecionar diretamente usando redirecionar para a ação - no final, usei uma mistura ou Url.Actione Redirect:

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

Eu acredito que este 'Como você vincula a uma ação que leva um array como parâmetro (RedirectToAction e / ou ActionLink)? descreve sua situação, a resposta de Lee Smith parece semelhante e útil.

OmarOdeh Dec 05 2020 at 00:17

Eu acredito que é melhor se você converter em string com um separador

string variantIdsString = "test1,test2";

Ou tente usar uma lista de strings em vez de uma matriz.