0

J'ai une méthode de commande avec un FilterAttribute personnalisé sur elle ...ASP.NET MVC 3: Puis-je transmettre un objet modélisé à un objet FilterAttribute?

[ActivityHistory] 
public ActionResult Index(Vehicle vehicle, string componentName) 
{ 
    return PartialView("_Description"); 
} 

La classe Activityhistory ...

public class ActivityHistoryAttribute : FilterAttribute, IResultFilter 
{ 
    public void OnResultExecuting(ResultExecutingContext filterContext) 
    { 
     //I would like to use the Vehicle object passed into the controller here 
     //The cotroller call is made from jQuery and json, the ASP.NET MVC modelbinding 
     // is creating the c# object instance. Can I resuse this object within this method? 
    } 
} 

C'est à peu près ma question, puis-je réutiliser l'objet Véhicule modelbound dans ma classe d'attributs personnalisés? Comment puis-je transmettre une référence à cet objet à la classe d'attributs personnalisés.

Merci pour tous les conseils ou idées sur la façon dont je peux accomplir cela, si c'est même possible.

Cheers, ~ ck à San Diego

Répondre

4

véhicule var = filterContext.ActionParameters [ "véhicule"] comme véhicule

+0

Cela fonctionne, mais vous devez mettre en œuvre pas IActionFilter au lieu de filtre iResult. ActionParameters n'existe pas sur ResultExecuting. Bonne réponse cependant! – Hcabnettek

Questions connexes