Вы должны быть осторожны с порядком, в котором вы объявляете свои маршруты. Поскольку в URL-адресе /{username}
нет общего элемента, вам необходимо объявить его как последний «универсальный» маршрут после всех ваших конкретных маршрутов.
RouteTable.Routes.MapRoute(null, "LogIn", new { controller = "Account", action = "LogIn" });
RouteTable.Routes.MapRoute(null, "LogOut", new { controller = "Account", action = "LogOut" });
// ... other routes go here ...
// Final catch-all route to map /{username} to the Account.Details action.
RouteTable.Routes.MapRoute(null, "{id}", new { controller = "Account", action = "Details" });
Стоит также помнить, что вам нужно расширить проверку имен пользователей, чтобы люди не могли выбирать имена, конфликтующие с конкретными маршрутами (например, Вход ).