以前使用していた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]);
代わりは。
しかし、バージョン間で変更された理由にはまだ興味があります。