Ich begann gerade mit dem Routing in meiner Webanwendung und während ich viele Tutorials gelesen habe, was Routing ist und wie ein RouteConfig.cs
schreiben oder Attribute-Routing innerhalb meiner Controller verwenden, sehr wenige Tutorials zeigen wirklich, wie man eine ganze Anwendung behandelt.Wie route ich POST und GET in Mvc 5
Wie die meisten Asp.NET Mvc-Anwendungen, wenn Sie Ihren Controller scaffold erhalten Sie Ihre erstellen, bearbeiten, entfernen Methoden und Sie haben immer eine zu GET
und eins zu POST
.
Aber wie umgehen Sie das Routing bei diesen Methoden?
Angenommen, das sind meine Edit-Methoden, was setze ich auf die Post-Methode für das Routing? Und muss ich irgendetwas anderes "reparieren", damit dieses Routing funktioniert, wenn ich auf die Schaltfläche "Speichern" klicke?
// GET: VehicleModels/Edit/5
[Route("Aanbod/Edit/{id:int}")]
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
VehicleModels vehicleModels = db.VehicleModels
.Include(v => v.Options)
.Include(v => v.Fotos)
.SingleOrDefault(v => v.Id == id);
if (vehicleModels == null)
{
return HttpNotFound();
}
return View(vehicleModels);
}
// POST: VehicleModels/Edit/5
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(int? id, IEnumerable<HttpPostedFileBase> uploads)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
var VehicleToUpdate = db.VehicleModels.Find(id);
if (TryUpdateModel(VehicleToUpdate))
// my code here
return View(VehicleToUpdate);
}
Die zu bearbeitende 'HttpPost' benötigt die gleiche Route – Nkosi