Listy przekazywania ASP.NET MVC do RouteData QueryString

Zalecane podejście do przekazywania list wartości jako QueryString

www.site.com/search?value=1&value=2&value=3&value=4

ASP.NET dobrze sobie z tym radzi:

string value = QueryString.Get("value"); // returns "1,2,3,4"

Ale nie mogę wymyślić sposobu przekazania tych wartości do RouteData. Oczywistym podejściem byłoby dodanie

int[] value = {1,2,3,4};

do RouteData i mieć super inteligentne MVC sortować rzeczy dla mnie. Niestety MVC jest zrzutem, jeśli chodzi o przekazywanie tablic do RouteData, w zasadzie wywołuje .ToString () dodając wartość = int [] do mojego QueryString.

Próbowałem dodać wartości do RouteValueDictionary (ale bycie słownikiem nie poradzi sobie z tym :)

RouteValueDictionary dict = new RouteValueDictionary();
dict.Add("value","1");
dict.Add("value","2"); // Throws Exception (Keys must be unique)

Mógłbym spróbować przekazać takie wartości:

www.site.com/search?value=1,2,3,4

ale jest to kodowane do adresu URL jako

www.site.com/search?value=1%2C2%2C3%2C4

Nie jestem pewien, czy to jest złe, czy nie, ale na pewno wygląda źle.

Jak więc przekazywać listy wartości jako RouteData w ASP.NET MVC. Czy jest jakiś sposób, w jaki mogę dodać do MVC, aby obsługiwał int []? Czy też podstawowa struktura danych oparta na słowniku jest ogranicznikiem show dla łatwego przekazywania list wartości do ASP.NET MVC?

questionAnswers(1)

yourAnswerToTheQuestion