ASP.NET MVC domanda percorso
-
21-08-2019 - |
Domanda
Ho due percorsi che voglio mappato nella mia applicazione ASP.NET MVC
- / utente / Login
- / Utente / {userid} / {username} / {action} (ad esempio / Utente / 1 / bla / profilo)
Ecco i percorsi ho definito:
routes.MapRoute(
"Profile",
"Users/{userID}/{username}/{action}",
new { controller = "Users", action = "Profile" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
Questa grande opera finora in maggior parte dei casi. I seguenti URL lavorare da mia home page:
<%= Html.ActionLink((UsersController x) => x.Login(), "Login") %>
<%= Html.ActionLink((UsersController x) => x.Profile(1, "blah") %>
Questi mappa per (rispettosamente):
/ Utenti / Login / Users / 1 / bla
Tuttavia, una volta che ho navigato a / Users / 1 / bla, l'url di accesso si rivolge immediatamente a / Users / 1 / bla / login. Qualsiasi idea di come risolvere questo problema?
Soluzione
Si desidera utilizzare <%=Html.RouteLink%>
Questo è molto simile al problema che ho avuto, che è possibile visualizzare qui
Altri suggerimenti
è il percorso colpire filtrare un Autorizza? Esiste un obbligo di effettuare il login per vedere gli utenti / pagina 1 / bla /? (. Cioè c'è un [Autorizza] attributo della classe UsersController, o sull'azione profilo?)
beh, allora, se non è un filtro Autorizza, I molto suggerisco di implementare questo Routing Debugger Strumento nel progetto.