Question

Existe-t-il une classe dans l'infrastructure ASP.NET MVC qui représente un nom de contrôleur et un nom d'action?

J'écris une méthode qui renverra une collection d'URL et je veux qu'elles soient renvoyées sous forme d'objets contenant les propriétés "Contrôleur" et "Action" ou quelque chose de similaire.

Ceci est dû au fait que parfois, je dois isoler uniquement le nom du contrôleur ou le nom de l'action.

Il y a l'objet Route, mais il semble beaucoup trop lourd pour ce que j'essaie de faire.

Existe-t-il une abstraction plus simple dans ASP.NET MVC?

Était-ce utile?

La solution

Il existe une classe Controller Base, mais pas un nom, un nom d'action est simplement une chaîne que ActionInvoker utilisera pour trouver l'action correcte par réflexion.

Je pense que vous devrez utiliser le Itinéraire Valeurs des paires clé / valeur pour représenter l’itinéraire.

RouteValueDictionary myValues = new RouteValueDictionary();
myValues.Add("Controller", "myController");

Vous pouvez utiliser un dictionnaire normal, puis le convertir en code en un RouteValueDictionary si vous ne souhaitez pas / ne devez pas avoir accès à l'espace de noms Routing.

Dans cette approche, vous pouvez ensuite utiliser les clés du dictionnaire standard ou du dictionnaire routeValue pour isoler le contrôleur ou l'action.

String ControlString = myValues["Controller"] 

Ensuite, faites ce que vous voulez avec. Utilisez peut-être des constantes pour les clés auxquelles vous souhaitez accéder.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top