public ActionResult Create(FormCollection collection, FormCollection formValue)
{
try
{
Project project = new Project();
TryUpdateModel(project, _updateableFields);
var devices = collection["devices"];
string[] arr1 = ((string)devices).Split(',');
int[] arr2 = Array.ConvertAll(arr1, s => int.Parse(s));
project.User = SessionVariables.AuthenticatedUser;
var time = formValue["Date"];
project.Date = time;
project.SaveAndFlush();
foreach (int i in arr2)
{
Device d = Device.Find(i);
d.Projects.Add(project);
d.SaveAndFlush();
}
return RedirectToAction("Index");
}
catch (Exception e)
{
return View(e);
}
}
Ich möchte die foreach in einer if-Anweisung wickeln, die überprüft, obÜberprüfen Sie, ob Sammlung leer ist oder nicht
var devices = collection["devices"];
leer ist oder nicht. Wenn es leer ist, sollte das für jedes nicht ausgeführt werden. Für den Datensatz ist Sammlung ["Geräte"] eine Sammlung von Kontrollkästchenwerten aus einem Formular.
Ja, tut mir leid, ich bin ein Idiot. Habe den Fehler, den ich beim Versuch einer if-Anweisung bekommen habe, falsch gelesen. Es wurde nicht dadurch verursacht, dass der Forearch versuchte, eine leere Sammlung zu durchlaufen. Setzen Sie die Umwandlung in das int-Array innerhalb der if-Anweisung, um sie zu lösen. – Prd