Versuchen, hier Wiederholungen zu vermeiden. Ich habe eine Aktion in einem Basisklassencontroller, die ich nicht ändern darf. Ich möchte, dass meine Aktion einige Prüfungen durchführt, die Basisklassenaktion aufruft und das Ergebnis vor dem Rendern irgendwie ändert. Aber Teil dessen, was ich tun muss, beinhaltet einige Eigenschaften des ViewModel
zu ändern, und die Basisklasse gibt einen ActionResult
zurück. Ich sehe keinen Weg, um die ViewModel
von der ActionResult
zu bekommen, und so muss ich vielleicht eine benutzerdefinierte Methode schreiben, von denen die meisten nur nachahmen würde, was die Basisklasse macht. Ich würde es vorziehen, dies nicht zu tun. Irgendwelche Vorschläge?Kann ich ein ViewModel von einem ActionResult abrufen?
3
A
Antwort
8
Das liegt daran, ActionResult
ist eine ziemlich hohe Basisklasse. Versuchen Sie, es in den entsprechenden Untertyp zu konvertieren, z. B. .
Schnellbeispielcode:
public ActionResult WrapperAction()
{
// do your initial stuff
// call your base controller action and cast the result
// it would be safer to test for various result types and handle accordingly
ViewResult result = (ViewResult)base.SomeAction();
object model = result.ViewData.Model;
// do something with the model
return result;
}
Verwandte Themen
- 1. Abrufen von Daten von ViewModel
- 2. MVC ActionResult ein anderes ActionResult aufrufen
- 3. So erhalten Sie den Wert von ViewData von einem ActionResult zu einem anderen ActionResult
- 4. Abrufen von WPF ListView.SelectedItems in ViewModel
- 5. Wie Validierung von einem Viewmodel tun
- 6. Wie kann ich zwei Parameter von ActionLink zu ActionResult übergeben
- 7. MVC filtering actionResult von dropdownlist
- 8. Wie kann ein Befehl (abgeleitet von einem ICommand) auf ein Viewmodel zugreifen
- 9. Wo kann man ein parametrisiertes ViewModel erstellen?
- 10. Wann sollten wir ein ViewModel von einem anderen ViewModel aus referenzieren?
- 11. Sollte ich Geschäftslogik auf einem Modell oder einem ViewModel implementieren
- 12. Wie kann ich ein Bild von einer URL abrufen? Fehler
- 13. Wie kann ich Daten von einem QTableWidget abrufen?
- 14. Übergeben Sie einen Benutzer zu einem ViewModel
- 15. Ich kann ein mysqli_result nicht abrufen
- 16. MVC: Wie route /sitemap.xml zu einem ActionResult?
- 17. Wie kann ich SMS-Nachrichten von einem Telefonanbieter abrufen?
- 18. muss eine MVC-Aktion ein actionResult zurückgeben?
- 19. Wie kann ich innerhalb einer ViewResult- oder ActionResult-Funktion umleiten?
- 20. Kann ich ein SVN-Protokoll von einer lokalen Kopie abrufen?
- 21. Modellnamen von Viewmodel in Rasierer
- 22. C# Bearbeiten von ViewModel
- 23. Kann ich die Datenquelle von tableview an mein viewModel binden
- 24. Benutzerdefinierte Attribute auf ActionResult
- 25. Wie kann ich mithilfe von EF und WebAPI ein ViewModel zurückgeben und IQueryable/OData unterstützen?
- 26. Mit MVVM, wie kann ein ContextMenu ViewModel das ViewModel finden, das das ContextMenu geöffnet hat?
- 27. MVC3 Benutzerdefiniertes ActionResult
- 28. Kann ich ein Windows CE 6.0-Abbild von einem Hardwaregerät abrufen?
- 29. MVC benutzerdefinierte Viewmodel Probleme
- 30. Zugriff auf eine Eigenschaft in einem ViewModel von einem anderen
Danke, das funktionieren könnte :) – Samo