System.Collections.Generic.IEnumerable'不包含'ToList'的任何定义

Dhw*_*ani 72 c# asp.net-mvc-3

这是问题所在.我从ViewPage获得IEnumerable,当我尝试转换List时,它显示的错误如下:

' System.Collections.Generic.IEnumerable<Pax_Detail>'不包含'ToList'的定义,并且没有System.Collections.Generic.IEnumerable<Pax_Detail>可以找到接受类型' ' 的第一个参数的扩展方法'ToList' (你是否缺少using指令或汇编引用?)

这是我的控制器代码:

[HttpPost]
public ActionResult Edit_Booking(Booking model, IEnumerable<Pax_Detail> pax)
{
  List<Pax_Detail> paxList = new List<Pax_Detail>();
  paxList = pax.ToList(); //getting error here
  BookingDL.Update_Booking(model, paxList);
  return View();
}
Run Code Online (Sandbox Code Playgroud)

我在另一个控制器上应用了相同的逻辑.它工作正常.我不知道它有什么问题.我已经清理,重建项目,并重新启动我的笔记本电脑(虽然它是必要的).

Ant*_*ile 199

你错过了使用指令System.Linq吗?

http://msdn.microsoft.com/en-us/library/bb342261.aspx

  • 我建议使用resharper.发现这样的事情很棒,并会提示你添加using指令. (3认同)

Adr*_*ong 23

您缺少对System.Linq的引用.

using System.Linq
Run Code Online (Sandbox Code Playgroud)

访问当前代码文件上的ToList()函数.


为了提供一些有关为什么这是必要的信息,Enumerable.ToList<TSource>是一种扩展方法.扩展方法在其所针对的原始类之外定义.在这种情况下,扩展方法是在System.Linq命名空间上定义的.


Dan*_*rth 7

添加LINQ的另一种方法是使用此代码:

List<Pax_Detail> paxList = new List<Pax_Detail>(pax);
Run Code Online (Sandbox Code Playgroud)