Javascript: iterieren durch die Liste der Objekte im Modell

so, ich brauche, um zu Holen die Namen der Schüler in eine Liste von student-Objekt ist in einer view das Modell dann senden Sie Sie an den server via $.post, die letztere ich habe es herausgefunden aber ich kann nicht herausfinden, wie eine Iteration durch die Liste der Objekte. Im Grunde genommen habe ich dieses:

//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 habe ich aber nur das senden und die studentische Liste-Objekt, wie es ist, aber es kann nicht eine gute Idee, da es gebündelt mit zu vielen Parametern (es hat mir dieses "zirkuläre" Fehler, wenn ich versuchte, senden Sie das Modell) und ich nur wirklich brauchen, um zu senden der verketteten FirstName und LastName in den controller mithilfe des $.post-Methode, die ich schon habe. 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 bekommen eine Fehlermeldung, dass "ich" nicht existiert, wie kann ich die Iteration in javascript durch die Liste der Objekte in meiner view-Modell den Zugriff auf die Attribute und verketten und dann speichern Sie Sie auf ein array von strings, so dass ich senden Sie es an den controller? Ich Stelle mir den controller würde dann so Aussehen

[HttpPost]
public ActionResult StudentSearchResult(/*other stuff I send here, */ string[] studentNames){
   //stuff here

  return View();
}

Dank!

  • Sicherlich var length = "@Model.StudentSearchResult.count()"; Ergebnisse in so etwas wie var length = "5"; gehen, um den client? Und so ein string? Ja, JavaScript ist Locker typisiert und so wird es meistens funktionieren, aber...
  • Das ist der einfache Teil, was ich nicht kann, ist der Zugriff der Mitglieder der Liste der Objekte in der Ansicht Modell und legen Sie Sie auf ein array
InformationsquelleAutor Ricardo | 2013-01-21
Schreibe einen Kommentar