2011-06-29 4 views
0

J'utilise ASP.NET MVC 3.0 et j'ai un ActionFilterAttribute qui définit une valeur booléenne X reçue par mon action. J'utilise également l'annotation de données pour valider le modèle de vue reçu. Je me demande simplement si le OnActionExecuting est exécuté avant la validation de l'annotation de données. Si oui, est-il possible de définir la valeur d'une propriété de modèle de vue via ActionFilterAttribute?Annotation de données + ActionFilterAttribute

Merci.

Meilleurs voeux,

Christian

Répondre

1

Validation du modèle est exécuté dans le modèle de liaison avant toute ActionFilters sauf les filtres d'autorisation. Donc, je pense que la définition de cette valeur dans ActionFilterAttribute n'aura aucun effet sur la validation, car elle a déjà eu lieu à ce moment-là.

La seule chose que je vois maintenant est de faire votre reliure de modèle personnalisé.

+0

ouais je me suis juste dit cela moi-même. Pensez-vous que je pourrais faire du filtre ActionFilterAttribute un filtre d'autorisation? Cela pourrait être une option. – cs0815

+0

Il serait préférable de faire un classeur de modèle personnalisé car le filtre d'autorisation n'est pas prévu pour effectuer la validation. Il vaut mieux garder la même sémantique. –

1

La validation est déclenchée par le modèle de liant. Cela se produit avant OnActionExecuting. Vous pouvez créer un classeur de modèle personnalisé qui définit la valeur et déclenche la validation.

Questions connexes