Rediriger vers l'action avec le tableau de chaînes de requêtes

Dec 04 2020

J'essaie de faire une redirection vers l'action avec un tableau de chaînes de requête:

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

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

Mais cela redirige vers

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

Comment puis-je l'obtenir pour aller à

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

Réponses

2 Pete Dec 04 2020 at 21:15

Il semble que vous ne puissiez pas rediriger directement en utilisant la redirection vers l'action - à la fin, j'ai utilisé un mélange ou Url.Actionet Redirect:

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

Je crois que "Comment vous liez à une action qui prend un tableau comme paramètre (RedirectToAction et / ou ActionLink)?" décrit votre situation, la réponse de Lee Smith semble similaire et utile.

OmarOdeh Dec 05 2020 at 00:17

Je pense que c'est mieux si vous le convertissez en chaîne avec un séparateur

string variantIdsString = "test1,test2";

Ou essayez d'utiliser une liste de chaînes au lieu d'un tableau.