В _LoggedInUser.cshtml(который находится в папке Views/Shared в корне приложения). Я хочу вызвать метод Logout контроллера AC. У меня есть два варианта:
Использование ActionLink
@Html.ActionLink("Logout", "Logout", "AC", new { area = string.Empty })
ИЛИ
<a href="@Url.Action("Logout", "AC", new { area = string.Empty })">Logout</a>
Я указываю область, потому что хочу вызвать метод действия контроллера переменного тока, независимо от области, в которой он находится.
Насколько я понимаю, разница между @Html.ActionLink() и @Url.action заключается в том, что сначала генерируется якорный тег, где второй возвращает URL-адрес (пожалуйста, исправьте меня, если я ошибаюсь), поэтому я думаю, что оба должны цель в том же месте, но здесь @Html.ActionLink имеет следующее расположение ссылки:
http://localhost:13974/Home/logout?Length=2
тогда как <a href="@Url.Action(
.... имеет следующее местоположение ссылки:
http://localhost:13974/AC/Logout
Обе ссылки работают нормально, когда атрибут области удаляется, но @Html.ActionLink() ломается, когда я указываю область
Почему обе ссылки нацелены на разные местоположения, когда я указываю область?