In meinem Beispiel habe ich Probleme, meine Suchergebnisse zu einer Liste hinzuzufügen. Ich muss mehrere Schüler zeigen, die an verschiedenen Orten sind. Ich habe Probleme mit .ToList()
in foreach
Aussage. Es zeigt nur meine Schüler vom letzten Ort an.Suchen von Werten mit einer Liste von Suchparametern
Unten ist mein Code:
public void Search(IEnumerable<string> Location)
{
Location.ToList();
foreach (var l in Location)
{
var students = from s in db.Students
select s;
students = students.Where(s => s.City.Contains(l));
var searched = students.ToList();
int custIndex = 1;
Session["Students"] = searched.ToDictionary(x => custIndex++, x => x);
ViewBag.TotalNumberStudents = searched.Count();
}
}
Wie zeigen Sie die Schüler an? Was passierst du zu deinem 'View'? – Ian
in der Zeile 'Session [" Students "] = gesucht ...' Sie weisen in jeder Iteration (für jeden Ort) ein _new_ Dictionary zu. Sie müssen diese Wörterbücher kombinieren. –
Vielen Dank alle, wie ich verstehe, muss ich die Variable vor foreach Schleife zu deklarieren, und verwenden Sie Session ["Studenten"] und Viewbag außerhalb von foreach. Aber dann kann ich students.toList() nicht erreichen. Irgendwelche Vorschläge? –