Mam aplikację MVC5 z wieloma różnymi obszarami. Projekt został utworzony za pomocą linku Wyloguj na pasku nawigacyjnym, ale jeśli użytkownik znajduje się w którymkolwiek z obszarów, link jest uszkodzony. Myślałem, że dodanie:Łącze wylogowania MVC5 nie działa z różnych obszarów
new { area = "" }
wskazywałoby link z powrotem do właściwego miejsca, ale albo go nie ma, albo próbowałem go w niewłaściwym miejscu. Kod poniżej:
@using Microsoft.AspNet.Identity
@if (Request.IsAuthenticated)
{
using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" }))
{
@Html.AntiForgeryToken()
<ul class="nav navbar-nav navbar-right">
<li>
@Html.ActionLink("Hello " + User.Identity.GetUserName(), "Manage", "Account", routeValues: null, htmlAttributes: new { title = "Manage" })
</li>
<li><a href="javascript:document.getElementById('logoutForm').submit()">Log off</a></li>
</ul>
}
}
else
{
<ul class="nav navbar-nav navbar-right">
<li>@Html.ActionLink("Log in", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink" })</li>
</ul>
}
Jakieś pomysły na temat tego, co należy zmienić, aby funkcja wylogowania działała bez względu na obszar, w którym aktualnie się znajduje użytkownik?
Nie widzę żadnego wystąpienie fragmencie '{nowy obszar =„”}' w kodzie. Właściwe miejsce znajduje się w parametrach 'Html.BeginForm (...)' – thmshd