Попробуйте это:
routes.MapRoute(
"Default", // Route name
"{controller}/{id}/{action}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Контроллер по умолчанию идет домой и запускает действие Index, не упомянутое другим способом.Идентификатор также является необязательным.Все, что я на самом деле изменил, был порядок параметров.
Что касается остальной части вопроса.Если ваши пользователи вошли в систему и, например, редактируют свой профиль, вы можете получить идентификатор того, что нужно редактировать, где-то еще - например, файл cookie.Я делаю это в своем управлении пользователями.URL / Пользователь / Правка уникален для пользователя, вошедшего в систему.