Routing in ASP.NET MVC, Anzeigen des Benutzernamens in URL
Im Versuch, eine Route zu erstellen, damit ich den Benutzernamen in der URL wie folgt anzeigen kann:
Hier ist meine Routenkonfiguration:
routes.MapRoute(
name: "users", // Route name
url: "{username}", // URL with parameters
defaults: new { controller = "Home", action = "Index", username = "" } // Parameter defaults
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Hier ist mein HomeController:
public ActionResult Index(string username = "Test")
{
return View();
}
Zunächst wird die URL nicht geändert. Wenn ich @ einstelusername = "Test"
in meiner route-config wird die URL nicht geändert.
Zweitens kann ich nicht zu meinen anderen Controllern navigieren. Wenn ich die URL in @ ändehttp: // localhost123 / Welcome, nichts passiert. Es sollte mich auf eine neue Seite weiterleiten.
Was mache ich hier falsch?
Wenn ich die Reihenfolge der Routen ändere, kann ich zu anderen Seiten navigieren, aber der Benutzername wird in der URL nicht angezeigt.
Ich habe gegoogelt und alle Antworten zu diesem Thema besagen, dass ich eine Route wie die oben angegebene verwenden sollte.