Важно помнить, что отправленные значения формы - это не что иное, как коллекция имен / значений, где значение представляет собой простую строку. Поэтому не имеет большого смысла иметь несколько полей формы с одинаковым именем. Я даже не знаю, разрешено ли это на самом деле.
Но, как вы говорите, вы не можете это изменить. Я провел быстрый тест в IE и Chrome, и, по крайней мере, в этих браузерах кажется, что они отправляют несколько полей формы с тем же именем, что и строка, разделенная запятыми. Возможно, вы захотите еще немного проверить, чтобы убедиться, что это поведение одинаково для всех браузеров.
Имея это в виду, вы можете сказать:
string colorValues = Request.Form["Color"];
string [] colors = colorValues.Split(',');
Каждый элемент в массиве цветов теперь соответствует значению каждого входного элемента, который был опубликован.