Ich versuche gerade, eine Liste von Aufgaben zu aktualisieren, nachdem der Benutzer eine neue Aufgabe gestellt hat. Ich versuche Ajax dabei zu benutzen. Wie auch immer, ich bin mir nicht sicher, wie ich Ajax zum Posten auf meinem Controller verwenden und dann zu meiner Liste hinzufügen kann. Wie verwende ich mein Datenfeld in meiner Ajax-Methode und wie aktualisiere ich meine Liste?Verwenden von Ajax zum Aktualisieren der Liste.
Mein Controller:
[HttpPost]
Public ActionResult CreateDuty(PartialViewModel d)
{
db.DutiesTable.Add(d.OneDuty);
db.SaveChanges();
pv.DutyList = db.DutiesTable.ToList();
return View("Index");
}
Meine Ajax-Methode:
<script>
$('#getDuty').click(function() {
$.ajax({
type: 'POST',
url: "/Home/CreateDuty",
data: {d : d}
}).success(function (data) {
alert(data + status);
});
});
</script>
Meinst du das d in meiner Ajax-Methode in der Datenfeld? Ich hatte gehofft, das wäre das gleiche wie in der Steuerung. Allerdings bin ich nicht ganz sicher, wie man Ajax verwendet. Woher kommt die Variable "mappedduty"? Mit Liste meine ich die Liste, wo alle Aufgaben sind hinzugefügt. Das wäre die DutyList. Ist es möglich t o update es, so dass eine neue Aufgabe an der Spitze hinzugefügt werden würde? – Seb
Ich werde meine Antwort mit einigen umbenannten Sachen aktualisieren, um es offensichtlicher zu machen. –
Hilft das Update? Der Kernpunkt ist, dass die Ansichtsmodellklasse nicht mit der Pflichtklasse übereinstimmt. Sie müssen zwischen der EF-Klasse für die Tabelle und dem Ansichtsmodell für die Benutzeroberfläche zuordnen. Es gibt mehrere Frameworks, die das für Sie trivialisieren können, am populärsten ist Automapper. –