Ich habe dieses Stück Code, der eine Tabelle von Datensätzen (Name und Info) generiert und jede Zeile sollte eine Bearbeitungsschaltfläche haben, die ein modales Popup öffnet, das es ermöglicht, Info-Abschnitt des Datensatzes zu bearbeiten.
1. HTML-AnsichtWie man Modellinstanz von der Tabelle zum modalen Popup übergibt?
@model Właściwy.Models.BoardViewModel
...
@foreach (var p in Model.LoansNumerable)
{
<tr>
<td>@p.Name</td>
<td>@p.Info</td>
<td><button
onclick="javascript:openModal('ModalEdit')">Edit</button></td>
</tr>
2. Die gleiche cshtml Datei aber der Code für modale Popup für die Bearbeitung von Datensätzen in der Tabelle oben
<div class="ModalEdit">
@using (Html.BeginForm("Loan", "Controller", FormMethod.Post))
{
<label>Edit info: </label>
@Html.EditorFor(x => x.LoanElement.Info)<br />
<input type="submit" value="Edit" class="button-
submit" formaction="~/Controller/Info/@Model.LoanElement"/>
}
</div>
Wie ich Informationen über Datensatz passieren kann, die ich will Edit von Tabelle in 1. Stück Code, um die Modalität, die mir erlaubt, ausgewählte Datensatz aus der Tabelle und bearbeitet Teil des Datensatzes in der Modalität, an den Controller zu senden, um es in SQL-Datenbank? Weil "Controller/Info/@Model.LoanElement" Teil im modalen Code nur den bearbeiteten Teil übergibt, wird der Rest Nullen
mit Javascript wäre Ihre beste Wette. Rasierer funktioniert nicht, weil das nur auf dem Server ausgeführt wird, bevor die Seite angezeigt wird. Javascript ist, wie Sie die Seite manipulieren, sobald sie verwendet wird. Sie haben einen Anfang gemacht, indem Sie ein Skript zum Anzeigen des Modals verwenden, Sie benötigen ein Skript, um die Daten zu holen (entweder übertragen Sie es aus der Tabelle, indem Sie den Inhalt aus dem HTML ziehen, oder Ajax verwenden, um das relevante Objekt anhand seiner ID abzurufen) vom Server, vor allem wenn mehr Attribute vorhanden sind als in der Tabelle angegeben. – ADyson