8

以前使用していたASP.NET MVCでフォームコレクションを列挙するにはどうすればよいですか? の実装ですが、今は VS2010 と MVC2 を使用しています。

エラー 1 型 'System.Web.Mvc.IValueProvider' を暗黙的に変換できません
「System.Collections.Generic.IDictionary」。アン
明示的な変換が存在します (キャストがありませんか?) C:\~\ProjectMVC\Controllers\TheController.cs 行 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]);

代わりは。

しかし、バージョン間で変更された理由にはまだ興味があります。

4

1 に答える 1

14

私は技術的にこれを修正しました:

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

コレクションの後に追加された改行。フォーマット用

于 2010-06-16T10:46:24.867 に答える