2017-05-14 110 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 –