Ich versuche, den Checkbox-Status zu speichern, sobald der Benutzer geklickt hat, wie es in der Datenbank widerspiegeln sollte. HierMVC - Speichern Sie den Status des HTML-Helper Kontrollkästchen, sobald es geklickt wird oder speichern Sie es auf Knopfdruck
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<table id="table_id" class="display">
<thead>
<tr>
<th>
ID
</th>
<th>
Category ID
</th>
<th>
Category Type
</th>
<th>
Reported By
</th>
<th>
Actioned
</th>
@*<th>
Edit
</th>*@
</tr>
</thead>
@foreach (var item in Model)
{
<tbody>
<tr>
<td>
@Html.DisplayFor(modelItem => item.ID)
</td>
<td>
@Html.DisplayFor(modelItem => item.CategoryID)
</td>
<td>
@Html.DisplayFor(modelItem => item.CategoryType)
</td>
<td>
@Html.DisplayFor(modelItem => item.ReportedBy)
</td>
<td>
@Html.CheckBoxFor(model => item.Actioned)
</td>
</tr>
</tbody>
}
</table>
<input type="submit" value="Save" class="btn btn-default" />
}
Snap of the output screen , @ Html.CheckBoxFor (Modell => item.Actioned)
das actioned Feld in der Datenbank ist vom Typ Bit.
So versucht, entweder ich bin, 1. der Checkbox Zustand sollte so schnell wie es sollte 2. oder sonst in der Datenbank widerspiegelt der Benutzer speichern klicken Sie auf die Schaltfläche, um alle Zustand des Kontrollkästchen speichern insgesamt geklickt wird je nachdem, welche ist geändert.
Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen, um zu verstehen.
Um etwas zu beharren auf In der Datenbank müssen Sie eine Anfrage an den Server stellen. Im Idealfall würden Sie dies tun, wenn sich der Wert eines bestimmten Elements mit einer AJAX-Anfrage ändert. Obwohl ein Klick auf einen "Speichern" -Button einen normalen Formular-Post auch gut wäre. Was hast du probiert? – David
Als eine Randnotiz, verwenden Sie '@ Html.CheckBoxFor()' innerhalb einer 'foreach' Schleife nicht funktioniert - verweisen Sie [diese Antwort] (http://stackoverflow.com/questions/30094047/html-table-to -ado-net-datatable/30094943 # 30094943) –
Danke @David für die Anleitung. Ich habe den AJAX-Anruf versucht, der jetzt funktioniert. Ich sah ein paar Artikel aus dem ähnlichen Beitrag [Hier] (http://stackoverflow.com/questions/10687538/mvc-pass-value-to-controller-via-js). Dieser Artikel hat mir wirklich geholfen – user3201573