2016-04-22 4 views
0

У меня есть проблемы с выходом на мою страницу. У меня есть контроллер с этимLogOut не работает должным образом

public ActionResult LogOut() 
{ 
    FormsAuthentication.SignOut(); 
    Session.Abandon(); 
    return RedirectToAction("Index", "Home"); 
} 

И поэтому вид называется LogOut. Я положил HREF на него с помощью кнопки:

<li><a class="logout" href="~/Views/Account/LogOut.cshtml">Se déconnecter</a></li> 

, но когда я нажимаю она твердит мне ваша страница не может был найден и т.д ...

Но странное дело это, если г поместите в свой адресный бар, путь к просмотру LogOut работает, и я отключен, кто-то знает почему?

ответ

1

Вы должны дать HREF, как это вместо того, чтобы путь к cshtml файла:

<li><a class="logout" href="@Url.Action('Logout', 'ControllerName')">Se déconnecter</a></li> 

это ударит Bход в систему метод действий, то будет Рендер ваш взгляд Надлежащим

+5

Или просто '@ Html.ActionLink (« Se déconnecter »,« Account »,« Logout », new {@ class =« logout »})' –

+0

хорошо спасибо Hardik, это работает, я думаю, у меня есть некоторый прогресс с бритвой! Ваш ответ тоже хорош, спасибо Стивен, не в первый раз, когда вы мне помогаете;) –

+0

да, на самом деле это правильный способ генерации ссылок в бритве – Hardik

1

Вы можете установить связь по-разному:

1) <li><a class="logout" href="/Account/LogOut">Se déconnecter</a></li> 

2) <li><a class="logout" href="@Url.Action("LogOut","Account")">Se déconnecter</a></li>

3) <li>@Html.ActionLink("Se déconnecter", "Account", "Logout", new { @class="logout" })</li> 
+0

Спасибо за это, стек действительно хорошее сообщество, всегда готовое помочь, это замечательно ! –

Смежные вопросы