Передача списков ASP.NET MVC в RouteData QueryString

Рекомендуемый подход для передачи списков значений в виде QueryString:

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

ASP.NET хорошо с этим справляется:

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

Но я могу't выяснить способ передачи этих значений в RouteData. Очевидным подходом было бы добавить

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

в RouteData и супер умный MVC разберитесь со мной. К сожалению, MVC является дампом, когда речь идет о передаче массивов в RouteData, он в основном вызывает .ToString (), добавляя value = int [] к моему QueryString.

Я попытался добавить значения в RouteValueDictionary (но быть словарём можноне справиться с этим :)

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

Я мог бы попробовать передать значения следующим образом:

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

но это закодировано в URL как я

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

Я не уверен, если это плохо или нет, но это выглядит плохо.

Итак, как вы передаете списки значений как RouteData в ASP.NET MVC. Есть ли способ добавить в MVC, чтобы он обрабатывал int []? Или базовая структура данных на основе словаря является средством для упрощения передачи списков значений в ASP.NET MVC?

Ответы на вопрос(1)

Ваш ответ на вопрос