2017-08-16 2 views
-4

Je travaille sur un projet web dans asp.net mvc. Ceci est du code dans mon RouteConfigComment faire pour supprimer le nom du contrôleur de l'URL dans asp.net mvc?

C'est url

localhost: 55960/Accueil/MonAction/80102/Aus-won-la-match par 9-guichets

mais je veux faire comme

localhost: 55960/MonAction/80102/Aus-won-la-match par 9-guichets

routes.MapRoute(
        name: "Default", 
        url: "{controller}/{action}/{id}/{Title}", 
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, Title = "" } 
       ); 

J'ai appliqué de nombreuses suggestions disponibles sur cette plate-forme, mais pas Worke ré. Y at-il quelqu'un qui peut expliquer en détail

+0

Quelle est la motivation derrière votre question? Essayez-vous d'obscurcir le nom au niveau du code d'un contrôleur ou essayez-vous de simplifier l'URL selon la réponse d'Isaack Rasmussen? – camelCase

Répondre

1

Donc vous voulez que votre contrôleur soit à la racine, comme domain.com/?id=1 ou domain.com/list?id=1 au lieu de domain.com/controller/list? id = 1?

Vous pouvez ajouter à votre config

config.MapHttpAttributeRoutes(); 

Ensuite, pour ce contrôleur,

[RoutePrefix("")] 
public class HomeController : Controller 

Mais cela peut-être embrouillé de garder une trace de si vous avez beaucoup de contrôleurs. Et il peut être préférable de configurer routes.MapRoute() pour pointer vers un contrôleur par défaut