从MVC视图调用操作

时间:2011-05-10 19:50:28

标签: asp.net-mvc-3 c#-4.0

我正在尝试弄清楚如何从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告诉我资源不存在。

有没有这样做?我只是希望用户能够从菜单中选择“Logout”项,然后让应用程序调用SignOff方法。我需要使用Ajax吗? JavaScript的?我还在试验。谢谢你!

编辑:好的,是http.post阻止我直接调用它。我摆脱了acceptverbs属性,现在我可以直接调用该方法。

1 个答案:

答案 0 :(得分:0)

您只需重定向到“登录”页面或任何其他公共页面(主页)。

return RedirectToAction("Login");
相关问题