2009-10-28 5 views

Répondre

1

Je pense que vous cherchez un moyen d'obtenir les valeurs de route d'une URL donnée. Voici un code qui pourrait vous aider à le faire avec une chaîne d'URL. Notez simplement que j'ai mis une interface IRouteRegistrant qui a juste une fonction Register qui prend une collection de routes. Fondamentalement remplacer cela avec votre mécanisme d'enregistrement.

public static RouteData GetRouteValues(IRouteRegistrant registrant, string url) 
{ 
     var routes = new RouteCollection(); 
     registrant.Register(routes); 

     var context = new FakeHttpContext(url); 
     return routes.GetRouteData(context); 
} 

Donc, pour obtenir les valeurs (pour votre exemple param) il vous suffit de ce qui suit:

public static void MyFn() 
{ 
    var values = GetRouteValues(....., "~/Edit/5"); 
    var paramValue = values.Values["param"]; 
    ..... 
} 

Hope this helps.

+0

Ce code provient des exemples XUnit. Téléchargez la dernière version pour obtenir le code complet. – zowens

Questions connexes