如何让 MVC ActionLink 调用 POST 方法?

How do I make an MVC ActionLink call a POST method?

我有一个 HTML.ActionLink 表现完美,只是它没有达到 POST 方法。

@Html.ActionLink("Join Now!", "JoinFleet", "Members", new { ID =Model.ID , fleet = 1 }, new { @class = "btn btn-primary" })

结果如预期的那样URL。

http://localhost:64096/Members/JoinFleet/2403?fleet=1

我需要它完全像这样工作,但是,请使用我的 POST JoinFleet 方法。

我尝试了几种方法来完成这项任务。我还试图将选中的单选按钮的值作为参数传递给 using。

@using (Html.BeginForm("JoinFleet", "Members", new { fleet = 3 },
FormMethod.Post, new { @class = "form-group" }))

然后使用标准提交按钮提交 我很乐意让该 Action 在我的控制器中命中我的 post 方法,或者在我使用时将单选按钮的值作为 fleet 的参数值传递。

在 ASP.NET MVC 中为控制器操作创建 link 时,最好使用通用 ActionLink 方法,因为它允许重构友好的强类型 link。

默认:ActionLink

@Html.ActionLink("Delete", "Delete", new { id = item.ID })

使用按钮:

<input type="button" title="Delete" value="D" onclick="location.href='@Url.Action("Delete", "movies", new { id = item.ID })'" />

使用图像:

<a href="@Url.Action("Delete", "movies", new { id = item.ID })" title="Edit">
<img src="../../Content/Images/Delete.png" />
</a>