2017-08-13 2 views
0

Haben UsersController und Details Aktion hat ID (String) Parameter des Benutzers in Systemidentität.Aktion Name in URL ASP.NET MVC ausblenden?

Wie kann ich MapRoute, dies zu sehen:

http://localhost:54719/Users/bade9105-adfe-46b3-b0db-68f3f6e0dd13 

statt:

http://localhost:54719/Users/Details/bade9105-adfe-46b3-b0db-68f3f6e0dd13 

und tun eine automatische Umleitung, nicht nur Zugriff, ohne den Controller-Namen eingeben.

+1

Ihre gewünschte URL ** zeigt ** den Controller-Namen an (meinten Sie, Sie möchten den Aktionsnamen verbergen?) –

+0

Verwenden Sie asp.net mvc 5? –

+2

Ich denke, Sie müssen Action-Name anstelle von Controller (der Controller-Name ist 'Benutzer') verstecken. Wenn Sie MVC 5 verwenden, kann 'RouteAttribute' mit URL stattdessen verwendet werden. –

Antwort

0

Detail Name nicht Ihre Controllers ist, dann ist es ein Action-Name dies versuchen: (legen zum RoutingConfig.cs)

routes.MapRoute(
    name: "userdetail", 
    url: "Users/{userid}", 
    defaults: new 
    { 
     controller = MVC.Users.Name, 
     action = MVC.Users.ActionNames.showuserdetail, 
     userid = UrlParameter.Optional 
    }, 
    namespaces: new[] { string.Format("{0}.Controllers", 
typeof(RoutingConfig).Namespace) } 
); 

(showuserdetail ist Ihr Aktionsname)

Sie das Routing verwenden müssen Tun Sie, was Sie wollen.

+0

1. kann das Symbol "RoutingConfig" nicht auflösen –