我之前使用的是
How can a formcollection be enumerated in 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]);
代替.
但是我仍然对它为什么在版本之间发生变化感兴趣.
解决方法
原文地址:https://www.jb51.cc/aspnet/248785.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。