J'ai un attribut personnalisé qui vérifie les conditions et redirige l'utilisateur vers des parties de l'application, selon les besoins de l'entreprise. Le code ci-dessous est typique.Comment valider un chemin dans ASP.NET MVC 2?
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
// ...
if (condition)
{
RouteValueDictionary redirectTargetDictionary = new RouteValueDictionary();
redirectTargetDictionary.Add("action", "MyActionName");
redirectTargetDictionary.Add("controller", "MyControllerName");
filterContext.Result = new RedirectToRouteResult(redirectTargetDictionary);
}
// ...
base.OnActionExecuting(filterContext);
}
m'a juste demandé de permettre à l'utilisateur de choisir une page par défaut qu'ils arrivent à lors de la connexion Lors de l'ajout de cette fonction, je remarquai que l'utilisateur peut obtenir un comportement inhabituel si il n'y a pas d'action/contrôleur correspondant à la page par défaut de l'utilisateur (c'est-à-dire si l'application a été modifiée). J'utilise actuellement quelque chose comme le code ci-dessous mais je pense à des actions/contrôleurs explicites. Comment vérifier la validité du résultat avant de l'assigner à filterContext.Result? Je veux être sûr qu'il correspond à une partie active de mon application avant de la rediriger - sinon je ne l'attribuerai pas à filterContext.Result.