iteriert, also muss ich holen, um die Namen der Kursteilnehmer in einer Liste des Kursteilnehmerobjektes zu holen, das im Modell einer Ansicht ist, dann sendete sie zum Server über $ .post, letzteres Ich habe es herausgefunden, aber ich kann nicht herausfinden, wie ich die Liste der Objekte durchlaufen soll. Im Prinzip habe ich dies:Javascript: Wie man durch Liste der Gegenstände im Modell
//Student object
public class Student
{
public string FirstName { get; set; }
public string LastName { get; set; }
//Like a bunch of other attributes here
}
Dies ist das Modell in der Ansicht:
//StudentSearchResult ViewModel
public class StudentSearchResult {
public IEnumerable<Student> { get; set;}
}
Zuerst dachte ich, nur die Schüler Liste Objekt sendet wie es ist, aber es kann nicht eine gute Idee sein, wie Es ist mit zu vielen Attributen gebündelt (es gab mir diesen "zirkulären" Fehler, als ich versuchte, das Modell zu senden) und ich muss nur die verketteten FirstName und LastName mit der $ .post-Methode, die ich bereits habe, an den Controller senden. Ich habe versucht, Dinge wie diese:
var names = []
var length = "@Model.StudentSearchResult.count()";
for (int i = 0; i < length; i++)
{
names[] = "@Model.StudentSearchResult[i].Name + @Model.StudentSearchResult[i].LastName"
}
//$.post function here that calls the controller and send the concatenated names of each student in studentsearchresult.
Aber ich würde einen Fehler, dass „i“ existiert nicht so, wie kann ich in Javascript, um durch die Liste der Objekte in meiner Ansicht nach Modell iterieren, Zugriff auf die atributes und verketten sie und speichern sie dann auf einem Array von Zeichenfolgen, so dass ich es an den Controller senden kann? Ich stelle mir vor, der Controller würde so aussehen
[HttpPost]
public ActionResult StudentSearchResult(/*other stuff I send here, */ string[] studentNames){
//stuff here
return View();
}
Vielen Dank!
Sicher 'var length =" @ Model.StudentSearchResult.count() ";' führt zu etwas wie 'var length =" 5 ";' zum Client gehen? Und so eine Schnur zu sein? Ja, JavaScript ist locker getippt und so wird es meistens funktionieren, aber ... –
Das ist der einfache Teil, was ich nicht tun kann, ist auf die Mitglieder der Liste der Objekte im Ansichtsmodell zuzugreifen und sie auf ein Array – Ricardo