2010-10-06 6 views
0

i ontproblème de routage dans asp.net mvc

routes.MapRoute("BuildingCompanyProject", "BuildingCompany/{projectId}/BuildingProject", new { controller = "BuildingProject", action = "Index", projectId = "" }); 

dans Global.asax.cs
et est placé en dessous de la route par défaut.
et l'itinéraire ci-dessus est appelé en cliquant sur un lien

<a title="Go toCompany" style="background: none!important" href='<%= Url.RouteUrl("BuildingCompanyProject",new {controller="BuildingProject" , action="Index" , projectId=item.Id})%>'> 
       beheer bedrijf</a> 

Mais cliquant sur l'URL est mis en correspondance par défaut itinéraire. Comment dois-je y parvenir.

Répondre

2

Vous devez mettre les itinéraires personnalisés au-dessus de l'itinéraire par défaut, lorsque l'itinéraire par défaut pourrait résoudre votre itinéraire personnalisé (comme c'est dans votre cas). À la lumière de votre commentaire, vous dites que vous avez une autre URL "/ BuildingProject" qui devrait être résolue par la route par défaut.

Vous devriez avoir alors 3 routes: d'abord celle pour résoudre "/ BuildingProject", puis celle personnalisée dont vous avez parlé dans la question, et seulement à la fin la route par défaut.

+0

mais le problème est que j'ai une autre URL comme '/ builgingproject' qui devrait correspondre à la valeur par défaut mais en plaçant les routes custon par défaut cette URL est mappée à cette route personnalisée. cette erreur d'affichage. –

+0

@Andrew - montrez-nous vos deux URL, à quoi elles ressemblent. Pas le code dans la vue, mais exactement comment ils ont l'air rendu dans votre page, et nous allons essayer d'aider. (vous pouvez éditer votre question avec cette information) –

+0

Firts Url est "/ BuildingProject" (ceci devrait correspondre à la valeur par défaut) et le second est "BuildingCompany/{projectId}/BuildingProject" (cela doit être mappé à un personnalisé ". –

0

Déplacez votre itinéraire personnalisé au-dessus de l'itinéraire par défaut. Rappelez-vous que votre URL correspondra à la route par défaut en premier