Hier ist das Problem. Ich erhalte IEnumerable von ViewPage und als ich versuchte, List zu konvertieren, zeigt es mir Fehler wie:
'
System.Collections.Generic.IEnumerable<Pax_Detail>
' enthält keine Definition für 'ToList' und es konnte keine Erweiterungsmethode 'ToList' gefunden werden, die ein erstes Argument vom Typ 'System.Collections.Generic.IEnumerable<Pax_Detail>
' akzeptiert (fehlt Ihnen eine using-Direktive oder eine Assembly-Referenz?)
Hier ist mein Controller-Code:
[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();
}
Ich habe dieselbe Logik auf einen anderen Controller angewendet. Und es funktioniert gut. Ich weiß nicht, welches Problem es hat. Ich habe das Projekt bereits bereinigt, neu erstellt und auch meinen Laptop neu gestartet (obwohl es benötigt wurde).
c#
asp.net-mvc-3
Dhwani
quelle
quelle
System.Core.dll
?= new List<Pax_Detail>()
als Randnotiz, wenn Sie es in der nächsten Zeile mit überschreibenpax.ToList()
, da nicht verwendeter Speicher auf diese Weise zugewiesen wirdAntworten:
Vermissen Sie eine using-Direktive für
System.Linq
?http://msdn.microsoft.com/en-us/library/bb342261.aspx
quelle
Sie vermissen einen Verweis auf System.Linq.
Hinzufügen
using System.Linq
um Zugriff auf die ToList () - Funktion in der aktuellen Codedatei zu erhalten.
Es
Enumerable.ToList<TSource>
ist eine Erweiterungsmethode , ein paar Informationen darüber zu geben, warum dies notwendig ist. Erweiterungsmethoden werden außerhalb der ursprünglichen Klasse definiert, auf die sie abzielen. In diesem Fall wird die Erweiterungsmethode imSystem.Linq
Namespace definiert .quelle
Eine Alternative zum Hinzufügen von LINQ wäre die Verwendung dieses Codes:
List<Pax_Detail> paxList = new List<Pax_Detail>(pax);
quelle
Mir fehlte die Referenz zur System.Data.Entity-DLL, und das Problem wurde behoben
quelle
In meinem Fall hatte ich Code aus einem anderen Projekt kopiert, das Automapper verwendete. Ich brauchte Ewigkeiten, um diesen herauszufinden. Musste nur das Automapper Nuget-Paket zum Projekt hinzufügen.
quelle