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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top