foreach 语句无法对 MVC 项目中 IEnumerable 类型的变量进行操作
此标记:
<%@ Page Title=""
Language="C#"
MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<IEnumerable<FOO>>" %>
产生错误
foreach 语句无法对“IEnumerable”类型的变量进行操作,因为“IEnumerable”不包含“GetEnumerator”的公共定义
我可以通过添加此标记来消除该错误:
<%@ Import Namespace="System.Linq" %>
这让我觉得这是一件非常糟糕的事情。我正在 VS2010 中工作,并使用 .NET 4.0 将这个项目作为 MVC 项目启动。我不得不降级,因为我们的网络上尚未安装 .NET 4.0。我怀疑降级导致了问题,但我不知道如何解决这个问题。
This markup:
<%@ Page Title=""
Language="C#"
MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<IEnumerable<FOO>>" %>
produces the error
foreach statement cannot operate on variables of type 'IEnumerable' because 'IEnumerable' does not contain a public definition for 'GetEnumerator'
I can get rid of the error by adding this markup:
<%@ Import Namespace="System.Linq" %>
This strikes me as a very bad thing. I am working in VS2010 and started this project as an MVC project using .NET 4.0. I had to downgrade because .NET 4.0 isn't installed yet on our network. I suspect the downgrade caused the problem but I am at a loss as to how to fix this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该能够在 Web.config 中注册所有视图的命名空间。像这样的东西应该有效:
You should be able to register the namespace for all views in your Web.config. Something like this should work: