asp.net-mvc - MVC : System. Web.HttpException:在 Controller 上找不到公共(public)操作方法 'Delete'

标签 asp.net-mvc

我有一个 Html 辅助方法,它在我的 Controller 上调用 Delete 方法。

public static MvcHtmlString DeleteEmployeeOtherLeave(this HtmlHelper html, string linkText, Leave _leave)
{
    return html.RouteLink(linkText, "Default",
        new { _employeeOtherLeaveId = _leave.LeaveId, action = "Delete" },
        new { onclick = "$.post(this.href); return false;" });
}

在我的 Controller 上;

[AcceptVerbs(HttpVerbs.Delete)]
public ActionResult Delete(int _employeeOtherLeaveId)
{
    EmployeeOtherLeaf.Delete(_employeeOtherLeaveId);

    return RedirectToAction("Payroll");
}

但我收到此运行时错误消息;

    System.Web.HttpException: A public action method 'Delete' was not found on controller

最佳答案

在这种情况下,发送正确“DELETE”动词的 HTTP 请求可能未调用您的操作。尝试更新您的 AcceptVerbs 属性以改为采用 POST。

关于asp.net-mvc - MVC : System. Web.HttpException:在 Controller 上找不到公共(public)操作方法 'Delete',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4900615/

相关文章:

c# - 如何使用 ValidateInput(false) 装饰 web api 中的操作

asp.net-mvc - 使用 MVC 5 注册 UnityPerRequestHttpModule 时出现异常

c# - 表达式定义说明

c# - 使用asp.net mvc2生成类别和子类别列表

c# - 403.14 - 在 IIS 中 Controller 名称和 Controller 目录名称相同时禁止访问

c# - Web API 中的异常处理

c# - JQuery 为 MVC Post 设置隐藏输入

c# - 如何在 ASP MVC 中创建自定义路由

asp.net-mvc - CouchDB 的优点和缺点

asp.net-mvc - 混合 http/https 站点