Comment faire pour ajouter de l'espace de noms d'itinéraire personnalisé d'extension
Im en utilisant les routes.ajouter au lieu de routes.maproute (qui dispose d'un espace de noms arg)
parce que j'ai étendu la Classe de la Route.
J'ai besoin d'ajouter de l'espace de noms sur les routes parce que l'un de mes Domaines a le même nom de contrôleur
à l'intérieur du site.
Mon problème est que je ne sais pas où mettre l'espace de noms..
public class CultureRoute : Route
{
public CultureRoute(string url, object defaults, object constraints, RouteValueDictionary dataTokens)
: base(url, new RouteValueDictionary(constraints), dataTokens, new MvcRouteHandler())
{
}
}
Mondiale.asax
routes.Add("Default", new CultureRoute(
"{controller}/{action}/{id}",
new {controller = "Home", action = "Index", id = UrlParameter.Optional}));
OriginalL'auteur h3n | 2010-11-05
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur
EDIT: (Déjà créé un itinéraire personnalisé, mais ce n'était pas nécessaire). Ceci devrait faire l'affaire. Au moins, il n'en MVC 4 et plus probablement MVC 3
Uniquement de votre façon de travailler pour moi. Merci!!!
OriginalL'auteur
Pour ceux qui ont été la chasse pour une solution à cela:
Vous avez d'abord besoin d'un constructeur qui accepte l'DataTokens argument, et le passer à travers le Parcours de constructeur.
Par exemple, j'ai été en utilisant un DomainRoute classe, j'ai ramassé en ligne, qui n'ont pas les arguments nécessaires pour passer à travers de Domaine. J'ai donc tout simplement mis en place un constructeur similaire à la gamme de base constructeur:
Ensuite, si vous avez remplacé votre GetRouteData méthode, vous doit retour de la DataTokens dans votre RouteData valeur de retour. Afin de comprendre cela, j'ai dû chercher dans l'Itinéraire.cs source code (MERCI JAVA2S).
Maintenant, il suffit de mettre dans vos espaces de noms dans dataTokens["espaces de noms"] comme par Fleents post.
Ce qui concerne,
Daryl
Certainement il y a longtemps... dans la mesure où je ne sais même pas ce que le problème d'origine a été ou de ce que j'ai pu résoudre. =)
OriginalL'auteur