2010-03-15 7 views
0

J'ai créé un nouveau composant ActionFilter pour une application ASP.NET MVC que je suis en train de créer. J'ai une action qui accepte un Http Post et l'argument de la méthode d'action accepte un objet, pour lequel j'ai créé et enregistré un classeur de modèle personnalisé.Disponibilité du modèle dans ActionFilter

je remarquai que l'intérieur de la IActionFilter.OnActionExecuting la valeur pour filterContext.Controller.ViewData.Model est toujours null malgré le fait qu'il semble que le modèle de liaison est toujours invoqué avant que la méthode filtre OnActionExecuting d'action. Contrairement à cela à l'intérieur de la méthode IActionFilter.OnActionExecuted du même filtre d'action, la valeur pour filterContext.Controller.ViewData.Model n'est pas nulle. Est-ce que vous savez si c'est par conception ou un bug? Si par conception sont leurs liens qui décrivent pourquoi c'est? Merci.

Répondre

1

Étant donné que l'action du contrôleur est responsable de la création du modèle et de son passage à la vue, comment le modèle peut-il exister avant l'appel de l'action? Vous ne savez pas quel modèle va être créé avant que cela n'arrive.

+0

Merci, je cherchais à modifier le modèle créé par le classeur. Je trouverai un autre moyen. –

1

Dites, vous définissez généralement un modèle lors de l'exécution d'une action. Par conséquent, il est naturel que le modèle soit nul pendant l'exécution de OnActionExecuting qui se produit avant que l'action soit appelée.