Я пытаюсь выяснить, как вызывать действие из представления MVC, а не вызывать URL представления.
У меня есть метод действия для подписи в контроллере учетной записи:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult SignOff()
{
authenticationService.SignOut();
return View("SignOff");
}
И я хотел бы позвонить со страницы cshtml, например:
<li>@Html.Action("SignOff","Account")</li>
Список является частью выпадающего меню.
ActionLink не работает, потому что у меня нет страницы Account / SignOff. Приведенный выше код возвращает следующее: «Ошибка выполнения дочернего запроса для обработчика System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper '». ActionLink просто говорит мне, что ресурс не существует.
Есть ли в любом случае, чтобы сделать это? Я просто хочу, чтобы пользователи могли выбирать пункт «Выход» из меню и затем приложение вызывало метод SignOff. Нужно ли использовать Ajax? Javascript? Я все еще экспериментирую. Спасибо!
РЕДАКТИРОВАТЬ: Хорошо, это был http.post, который мешал мне вызывать это напрямую. Я избавился от атрибута acceptverbs и теперь могу вызывать метод напрямую.