Ранее я использовал Как можно перечислить коллекцию форм в ASP.NET MVC? Реализация , но сейчас я на VS2010, а MVC2 жалуется:
Error 1 Cannot implicitly convert type 'System.Web.Mvc.IValueProvider' to
'System.Collections.Generic.IDictionary'. An
explicit conversion exists (are you missing a cast?) C:\~\ProjectMVC\Controllers\TheController.cs line ProjectMVC
Код ...
IDictionary<string, ValueProviderResult> tmpCollection = collection.ToValueProvider();
for (int j = 1; j <= noprops; j++)
{
string shopNmTmp =
(from t in tmpCollection
where t.Key.StartsWith(j + ".discount.sname." + j)
select t.Value.AttemptedValue).First();
string shopCdTmp =
(from t in tmpCollection
where t.Key.StartsWith(j + ".discount.sref." + j)
select t.Value.AttemptedValue).First();
...
Что-то изменилось, когда я не смотрел; это компилирует, работает и работает, и не имеет проблем в MVC1; но не скомпилируется в 2.
Спасибо
Обновление
Я технически просто исправил это с помощью:
Dictionary<string, string> tmpCollection = collection.AllKeys.ToDictionary(k => k, v => collection[v]);
вместо.
Но мне все равно было бы интересно, почему он менялся между версиями.