foreach 语句无法对 MVC 项目中 IEnumerable 类型的变量进行操作

发布于 2024-11-01 14:31:28 字数 564 浏览 0 评论 0原文

此标记:

<%@ 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

这个俗人 2024-11-08 14:31:28

您应该能够在 Web.config 中注册所有视图的命名空间。像这样的东西应该有效:

<pages>
      <namespaces>       
        <addnamespace="System.Linq" />
      </namespaces>
</pages>

You should be able to register the namespace for all views in your Web.config. Something like this should work:

<pages>
      <namespaces>       
        <addnamespace="System.Linq" />
      </namespaces>
</pages>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文