У меня есть страница по умолчанию / Home / Index.На этой странице у меня есть ссылка для выхода из системы:
@Html.ActionLink("LogOut", "LogOut", new { controller="Users" })
Когда я нажимаю на эту ссылку, отладчик переходит к контроллеру по умолчанию, что означает «Домой» и «Индекс действия».Это мой маршрут
routes.MapRoute(
"LogOut", // Route name
"Users/LogOut", // URL with parameters
new { controller = "Users", action = "LogOut" }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}", // URL with parameters
new { controller = "Home", action = "Index" } // Parameter defaults
);
Что здесь не так?Почему он не идет к соответствующему контроллеру и действию?
[EDIT] Из кода js я могу выйти из системы, используя
$.post('/Users/LogOut',function(){
window.location.replace("/Home/Index");
});
Мое действие LogOut простое
public ActionResult LogOut()
{
string login = HttpContext.User.Identity.Name;
usersService.RemoveLogin(login);
usersService.RemoveUsersMessages(login);
System.Web.Security.FormsAuthentication.SignOut();
return RedirectToActionPermanent("LogIn", "Users");
}
но проблема не в этом методе.Когда я нажимаю на ссылку, я иду к стандартному стандартному каталогу / Home / Index.Не знаю, почему из кода клиента это работает, но с помощью ссылки для отправки обратной передачи на сервер нет.