Modellverfügbarkeit innerhalb Action
-
20-09-2019 - |
Frage
Ich habe einen neuen Actionfilter für eine ASP.NET MVC-Anwendung erstellt, dass ich zu schaffen. Ich habe eine Aktion, die einen Http Post und das Argument der Aktion Methode akzeptiert akzeptiert ein Objekt, für die ich geschaffen habe, und ein benutzerdefiniertes Modell Bindemittel registriert.
Ich habe bemerkt, dass der Wert für IActionFilter.OnActionExecuting
innerhalb des filterContext.Controller.ViewData.Model
immer trotz der Tatsache, null
ist, dass es aussieht wie das Modell Bindemittel immer vor dem Verfahren Aktion Filter OnActionExecuting
aufgerufen wird. Im Gegensatz dazu in dem IActionFilter.OnActionExecuted
Verfahren derselben Aktion Filter ist der Wert für filterContext.Controller.ViewData.Model
nicht null.
Do you guys wissen, ob dies absichtlich oder ein Fehler ist? Wenn nach Design sind ihre irgendwelche Verbindungen, die beschreiben, warum das so ist? Danke.
Lösung
Da der Controller Aktion verantwortlich ist, das Modell für die Erstellung und Übergabe an die Ansicht wie könnte das Modell vor der Aktion existieren aufgerufen wird? Sie wissen nicht, was Modell bis zu erstellenden wird, nachdem es passiert ist.
Andere Tipps
Sayed, Sie setzen in der Regel ein Modell während der Ausführung einer Handlung. Daher ist es nur natürlich, dass das Modell null während der Ausführung des OnActionExecuting ist, die auftritt, bevor die Aktion aufgerufen wird.