2017-05-14 108 views
0

我有一个完美的HTML.ActionLink,除非它没有触及POST方法。如何使MVC 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 (Html.BeginForm("JoinFleet", "Members", new { fleet = 3 }, 
FormMethod.Post, new { @class = "form-group" })) 

,然后用一个标准的提交提交按钮 我会很乐意与任何使这一行动打我POST方法在我的控制器或通过单选按钮的值作为参数值的方式车队我使用。

回答

0

在ASP.NET MVC中创建指向控制器动作的链接时,使用通用的ActionLink方法更可取,因为它允许使用重构友好的强类型链接。

默认: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> 
+0

感谢您的答复。我熟悉ActionLink。我的问题是,我如何获得这一个目标我的相同名称的发布方法。 –

+0

我需要这个:@ Html.ActionLink(“现在加入!”,“JoinFleet”,“成员”,新的{ID = Model.ID,fleet = 1},新的{@class =“btn btn-primary”})打我的帖子方法JoinFleet –