Маршрутизация в ASP.NET MVC с отображением имени пользователя в URL
Я пытаюсь создать маршрут, чтобы я мог показать имя пользователя в URL, как это:
Вот мой маршрут конфигурации:
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 }
);
Вот мой HomeController:
public ActionResult Index(string username = "Test")
{
return View();
}
Прежде всего, URL не изменен. Когда я установилusername = "Test"
внутри моего route-config, URL не изменился.
Во-вторых, я не могу перейти к другим моим контроллерам. Если я изменю URL наHttp: // localhost123 / Добро пожаловать, Ничего не произошло. Это должно перенаправить меня на новую страницу.
Что я здесь не так делаю?
Если я изменю порядок маршрутов, я могу перейти на другие страницы, но имя пользователя не отображается в URL.
Я погуглил, и все ответы на эту тему говорят, что я должен использовать маршрут, подобный указанному выше.