使用查询字符串数组重定向到操作

Redirect to action with querystring array

我正在尝试使用查询字符串数组重定向到操作:

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

我认为这个 'How do you link to an action that takes an array as a parameter (RedirectToAction and/or ActionLink)?' describes your situation, Lee Smith 答案似乎相似且有用。

看起来您无法使用重定向到操作直接重定向 - 最后我混合使用了 Url.ActionRedirect:

return Redirect($"{Url.Action("SamplesOrderStep3")}?variantIds={string.Join("&variantIds=", variantIds)}");

我相信如果你把它转换成带有分隔符的字符串会更好

string variantIdsString = "test1,test2";

或者尝试使用字符串列表而不是数组。