2011-08-05 2 views
1

J'ai un projet Asp.net MVC 2. Ma page d'accueil est le lien suivant:Asp.net MVC empêche la conversion automatique de l'URL

http://localhost:2666/Home/Index?SomeID=4f62c452-4513-4dd0-b235-830d721815e4 

mais quand j'utiliser la méthode de RedirectToAction il sera changé à la version courte ci-dessous:

http://localhost:2666/?SomeID=4f62c452-4513-4dd0-b235-830d721815e4 

Je veux inclure un lien vers une URL relative. (par exemple "xyz/test" qui devrait être converti en "http: // localhost: 2666/xyz/test" qui ne fonctionne pas si l'URL est changée) Puis-je en quelque sorte empêcher cela - ou y a-t-il un autre meilleur) façon de résoudre ce

Répondre

3

Si vous ajoutez quelque chose comme ça avant votre route « par défaut » dans le Global.asax il devrait fonctionner pour vous

routes.MapRoute(
    "xyzRoute",           
    "xyz/test",       
    new { controller = "xyz", action = "test" } 
); 
+0

vous avez raison qui fonctionne -.! merci Bien. Je ne comprends pas vraiment 100% pourquoi cela fonctionne.Toute chance que vous pourriez me donner un petit indice? – Preli

+0

La route "par défaut" est une sorte de capture à chaque fois que vous appuyez sur "Index" d'un contrôleur, il va dépouiller " Contrôleur/Index "En ajoutant" xyzRoute "avant" Default ", MVC utilisera cela à la place et ne shortera pas. n la route. –

+0

a du sens ... en quelque sorte. Je vous remercie. – Preli

Questions connexes