Alihkan ke tindakan dengan array querystring

Dec 04 2020

Saya mencoba melakukan pengalihan ke tindakan dengan array querystring:

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

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

Tapi ini dialihkan ke

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

Bagaimana cara mendapatkannya untuk pergi ke

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

Jawaban

2 Pete Dec 04 2020 at 21:15

Sepertinya Anda tidak dapat mengalihkan secara langsung menggunakan redirect to action - pada akhirnya saya menggunakan campuran atau Url.Actiondan Redirect:

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

Saya percaya ini 'Bagaimana Anda menautkan ke tindakan yang mengambil array sebagai parameter (RedirectToAction dan / atau ActionLink)?' menggambarkan situasi Anda, jawaban Lee Smith tampaknya serupa dan berguna.

OmarOdeh Dec 05 2020 at 00:17

Saya percaya lebih baik jika Anda mengubahnya menjadi string dengan pemisah

string variantIdsString = "test1,test2";

Atau coba gunakan daftar string alih-alih array.