la disponibilità del modello all'interno ActionFilter
-
20-09-2019 - |
Domanda
ho creato un nuovo ActionFilter per un'applicazione ASP.NET MVC che sto creando. Ho un'azione che accetta un HTTP Post e l'argomento del metodo dell'azione accetta un oggetto, per il quale ho creato e registrato un modello personalizzato legante.
Ho notato che all'interno della IActionFilter.OnActionExecuting
il valore per filterContext.Controller.ViewData.Model
è sempre null
nonostante il fatto che sembra che il modello di legante è sempre richiamato prima il metodo OnActionExecuting
filtro di azione. In contrasto con questo all'interno del metodo IActionFilter.OnActionExecuted
della stessa azione filtrare il valore per filterContext.Controller.ViewData.Model
non è nullo.
Do you guys so se questo è di progettazione o un bug? Se per la progettazione sono loro eventuali collegamenti che descrivono perché questo è? Grazie.
Soluzione
Dal momento che l'azione di controllo è responsabile della creazione del modello e di passarlo al Visualizza come potrebbe esistere il modello prima dell'azione di essere chiamato? Tu non sai quale modello sta per essere creato solo dopo che è successo.
Altri suggerimenti
Sayed, di solito impostato un modello durante l'esecuzione di un'azione. Pertanto, è naturale che il modello è nullo durante l'esecuzione del OnActionExecuting che si verifica prima che venga chiamato l'azione.