Ich arbeite derzeit eine Liste von Daten, die ich in einer Ansicht anzeigen muss, die eine Liste darstellen und für jedes Element die entsprechende Aktion, die ausgeführt werden kann, wie sie bearbeiten oder anzeigen Lösche sie. Für die Edition gibt es kein Problem, dass es eine bestimmte Sichtweise ist. Mein Problem ist, wenn ich ein Element löschen möchte, habe ich zwei Möglichkeiten in der Post-Methode.MVC3 RedirectToAction in einer Post-Methode und ViewBag Unterdrückung
//Call directly the list
[HttpPost]
[Authorize]
public ActionResult Delete(int itemId)
{
// logic to delete an item
ViewBag.Error = ""; // The result of the execution
return List();
}
Die Sache mit dieser Lösung ist, dass die URL nicht mehr die gleiche wie die erste: .../Liste, es ist .../jetzt löschen, i, nicht diese Lösung große finden die andere Lösung ist, um die Aktion umleiten, jetzt ist die URL gut, aber die Fehlermeldung in der ViewBag ist nicht mehr sichtbar, haben Sie eine bessere Idee.
Netter Vorschlag, um ViewBag.Error = TempData ["Error"] in der Steuerung zu setzen, so dass die Ansicht über dieses Detail nicht besorgt sein muss. –
Ja, ich hatte es in der Ansicht selbst, aber dann hatte ich eine Menge Logik in der Ansicht, die sich mit der zu betrachtenden Variablen beschäftigt. Ich benutze den Controller, um alle notwendigen Informationen zu erfassen und an die Ansicht zu übergeben. – Joshua
Vielen Dank Joshua für die Antwort, es funktioniert gut, und danke für die Lese-Ressourcen zu. – Oflocet