ich kriege es einfach nicht hin, Daten von einer View an einen entsprechenden Controller zu übergeben. Ich erstelle in einer View eine Liste von Objekten, und möchte das ausgewählte objekt der Liste per ActionLink an einen Controller übergeben.
Das Model sieht folgendermaßen aus:
namespace Test.Models
{
public class Pupil
{
public int Id { get; set; }
public string Firstname { get; set;}
public string Lastname {get;set;}
....weitere Properties
}
}
Dann habe ich noch eine Klasse die eine Liste von Pupil und diverse Methoden erhält,
sowie die Liste mit Daten aus einer DB initialisiert
namespace Test.Models
{
public class PupilContext
{
public List<Pupil> AllPupils {get; set;}
public int SearchId;
....weiter Properties und Methoden
}
Im HomeController habe ich 2 ActionResults. Home zeigt eine Liste aller Schüler (IndexView)
//Index Methode des Home Controllers
public ActionResult Index()
{
var model = new PupilContext();
model.AllPupils = //Liste initialistieren
return View(model);
}
//Index View
@model Test.Models.PupilContext
//Liste generieren
<ul>
@foreach(var pupil in PupilContext)
{
//Hier möchte ich die ID eines Pupil Objektes an den ActionLink übergeben, der
//die About Methode des HomeControllers aufruft
<li>@Html.ActionLink(pupil.Name,"About","Home",?id des Objektes?)</li>
}
</ul>
//About Methode des Home Controllers....searchId ist bei mir immer leer
public ActionResult About(int searchId)
{
....do something
return View();
}
...habe mittlerweile eineige Tutorials durchgesehen..bin bisher allerdings auf nichts gestoßen was mir weiterhilft oder habe es evtl. nicht richtig verstanden. Ich hoffe das mein Gesamtansatz korrekt ist, da ich im bereich MVC noch ein Anfänger bin..