J'ai un ActionFilter qui vérifie si un paramètre dans l'URL est valide. Si ce n'est pas valide, je dois rendre une vue. Je ne veux pas rediriger, car j'ai toujours besoin du ActionExecutingContext. Est-ce que cela peut être fait?Retour Vue d'ActionFilter
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
Guid processIdentifier = (Guid)filterContext.RouteData.Values["processIdentifier"];
//if processIdentifier not found render a view with message and some other objects in ViewData
filterContext.Controller.ViewData.ModelState.AddModelError("WrongProcessIdentifier", "The process-id you supplied is not valid");
base.OnActionExecuting(filterContext);
}
Je pense que vous devriez accepter votre propre réponse car elle inclut le code –
Pour tout ce que ça vaut, je n'ai pas intentionnellement inclus de code, puisque cette zone de code change avec chaque version du framework MVC en ce moment. Je pense que la bonne réponse est «faites ce que le cadre est en train de faire». –