MVC5 获取一个按钮来调用 Controller 中的操作方法

MVC5 Getting a button to call an action method in Controller

如标题所述,当我单击主视图上的按钮时,我需要它在我的控制器中为该视图调用方法。我已经尝试了几个小时,并且多次更改了特定的代码行,但所有变体似乎都会出现相同的错误,所以我只展示最简单的版本来表达我的观点。每次我尝试某事时,我都会收到 404 错误,指出找不到路径。所以我假设我认为代码有问题。我没有使用 JQuery 或任何 javascipt

我的索引视图中的代码行:

@Html.ActionLink("Button4Pressed", "Button4Pressed", "HomeController");

我知道这不适用于获取方法,但它适用于更改页面,所以我想我会从这里开始。我不确定我是否应该将其用作 href 或按钮。

我在 HomeController 中的方法:

 [HttpPost]
    public ActionResult Button4Pressed()
    {
        state = "year";
        MyChart();
        return View();
    }

这是我的 Solution Explorer

我是 MVC 的新手,可能会做一些非常愚蠢的事情,所以非常感谢您的帮助。

您有两个选择:

选项A

从您的控制器方法中删除 [HttpPost] 属性,您将能够创建指向它的正常链接,即使用 @Html.ActionLink()

选项 B

保留 [HttpPost] 属性并使用表单或 ajax 将请求作为 HTTP Post 请求发送,即

<form id="Button4Pressed" action="@Url.Action("Button4Pressed", "Home")" method="post"></form>
<a href="#" onclick="javascript:document.getElementById('Button4Pressed').submit()">Button4</a>