Вызов действия из вида MVC - PullRequest
1 голос
/ 10 мая 2011

Я пытаюсь выяснить, как вызывать действие из представления 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 и теперь могу вызывать метод напрямую.

1 Ответ

0 голосов
/ 10 мая 2011

Вы можете просто перенаправить на страницу входа или на любую другую общедоступную страницу (домашнюю страницу).

return RedirectToAction("Login");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...