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>
如标题所述,当我单击主视图上的按钮时,我需要它在我的控制器中为该视图调用方法。我已经尝试了几个小时,并且多次更改了特定的代码行,但所有变体似乎都会出现相同的错误,所以我只展示最简单的版本来表达我的观点。每次我尝试某事时,我都会收到 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>