【发布时间】:2011-05-10 19:50:28
【问题描述】:
我试图弄清楚如何从 MVC 视图调用操作,而不是调用视图 URL。
我有一个用于在帐户控制器中注销的操作方法:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult SignOff()
{
authenticationService.SignOut();
return View("SignOff");
}
我想从一个 cshtml 页面调用它,像这样:
<li>@Html.Action("SignOff","Account")</li>
该列表是下拉菜单的一部分。
ActionLink 不起作用,因为我没有帐户/注销页面。上面的代码返回以下内容:“执行处理程序'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'的子请求时出错。” ActionLink 只是告诉我资源不存在。
有没有办法做到这一点?我只希望用户能够从菜单中选择“注销”项,然后让应用程序调用 SignOff 方法。我需要使用 Ajax 吗? Javascript?我还在试验。谢谢你!
编辑:好的,是 http.post 让我无法直接调用它。我去掉了acceptverbs属性,现在可以直接调用方法了。
【问题讨论】:
标签: asp.net-mvc-3 c#-4.0