Как перечислить форму в ASP.NET MVC2 - PullRequest
8 голосов
/ 16 июня 2010

Ранее я использовал Как можно перечислить коллекцию форм в 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]);

вместо.

Но мне все равно было бы интересно, почему он менялся между версиями.

1 Ответ

14 голосов
/ 16 июня 2010

Я технически просто исправил это с помощью:

Dictionary<string, string> tmpCollection = collection.
                                 AllKeys.ToDictionary(k => k, v => collection[v]);

Разрыв строки добавлен после сбора. для форматирования

...