एरेस्ट्रिंग सरणी के साथ कार्रवाई करने के लिए पुनर्निर्देशित करें

Dec 04 2020

मैं एक एरेस्ट्रिंग ऐरे के साथ एक्शन पर पुनर्निर्देशित करने की कोशिश कर रहा हूं:

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

जवाब

2 Pete Dec 04 2020 at 21:15

आप की तरह लग रहा कार्रवाई करने के लिए रीडायरेक्ट का उपयोग करके सीधे अनुप्रेषित करने में असमर्थ हैं - अंत में मैं एक मिश्रण या इस्तेमाल किया Url.Actionऔर Redirect:

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

मेरा मानना ​​है कि 'आप एक एक्शन से कैसे जुड़ सकते हैं जो एक ऐरे को एक पैरामीटर (RedirectToAction और / orLLink) के रूप में लेता है?' आपकी स्थिति का वर्णन करता है, ली स्मिथ जवाब समान और उपयोगी लगता है।

OmarOdeh Dec 05 2020 at 00:17

मेरा मानना ​​है कि यदि आप इसे एक विभाजक के साथ स्ट्रिंग में परिवर्तित करते हैं तो बेहतर है

string variantIdsString = "test1,test2";

या किसी सरणी के बजाय स्ट्रिंग्स की सूची का उपयोग करने का प्रयास करें।