ich habe eine Index.cshtml Page die gebunden ist an mein Model "Depot.cs". Bei einem ActionResult bekommt diese Seite das Klassenobjekt übergeben und hat somit Zugriff auf eine Liste.
Die Liste beinhaltet mehrere Objekte einer anderen Modelklasse "Gegenstand".
Zum Verständnis: List<Gegenstand> depotList = new List<Gegenstand>();
In der Index.cshtml wird eine Tabelle dargestellt. Diese Tabelle wird durch eine foreach Schleife mit Daten aus der List gefüllt. Die Foreach gibt z.B. nur den Namen (Variable in Gegenstandklasse) aus.
Die Tabelle hat also nur eine Spalte und mehrere Zeilen. Nun möchte ich eine zweite Spalte hinzufügen die einen Button beinhaltet, wenn ich auf diesen Button klicke soll mir das Klassenobjekt (Gegenstand) zu meinem Controller gepostet werden.
Der Controller hat ein ActionResult [HttpPost] Details(Gegenstand ggObj). Dieses ActionResult gibt mir dann eine andere View aus und übermittel dann dieses Objekt, damit ich mehrere Details noch ausgeben kann.
Wenn dieser Weg nicht "smart" genug sein sollte, könnt Ihr es gerne in die Kommentare schreiben und mir einen anderen Lösungsvorschlag nennen, mit MVC bin ich noch nicht so vertraut (3 Tage exp). Wenn möglich keine Javascript AJAX Lösungsvorschläge :P
Mit freundlichen Grüßen
freewayc
EDIT: Hat sich erledigt,
Lösung:
Quote:
@model List<MvcApplication2.Models.Gegenstand>
@{
ViewBag.Title = "Index";
}
<table>
@foreach (var item in Model) {
<tr>
<td>
@item.Beschreibung
</td>
<td>
@Html.ActionLink("Show Details", "Details", new MvcApplication2.Models.Gegenstand { Beschreibung = item.Beschreibung })
</td>
</tr>
}
</table>
Mit freundlichen GrüßenQuote:
[HttpGet]
public ActionResult Details(Gegenstand gegenstandObj)
{
return View(gegenstandObj);
}
freewayc







