У меня есть это в моем Global.asax.cs:
routes.MapRoute(
"User",
"User/{username}/{action}",
new { controller = "User", action = "Index", username = "*" }
);
Тогда на моем _Layout.cshtml у меня есть этот код:
<ul id="menu">
@if (!String.IsNullOrEmpty(Context.User.Identity.Name))
{
<li>@Html.ActionLink("Home", "Home", new { controller = "User" }, new { username = Context.User.Identity.Name })</li>
}
</ul>
</div>
</div>
Дело в том, что она будет правильно отображать ссылку при первом ее просмотре. (Ссылка будет / User / rob / Home, где «rob» - это имя пользователя. Если я перехожу в другое место на странице и затем нажимаю на свою ссылку, ссылка отображается как / User / * / Home. код, Context.User.Identity.Name каждый раз корректен.
Я что-то упустил здесь? Я не уверен, что искать.