2016-08-23 11 views
0

AdminControllerにPOSTリクエストを送信します。しかし、私はデバッガでそれを見て、要求はGETです。投稿の送信要求@actionをコントローラ

<form method="post"> 
<input type="button" formmethod="post" onclick="location.href='@Url.Action("Index","Admin",new {rowID = @p.ProductID})'" value="Delete"/> 
</form> 
+1

html形式ではなく動詞を決定するのはコントローラです。 '[HttpPost]'でコントローラアクションを飾る – Crowcoder

答えて

0

送信ボタンでGETリクエストを行うコードを書きましたので、

のonclick = " '(インデックス " "管理者Url.Action @"、新しい{ROWID = @ p.ProductID})LOCATION.HREF ="'" ここで

あなたが設定されていますlocation.hrefの値は/Admin/Indexになり、新しいGETリクエストになります。

投稿したい場合は、ボタンのonclickイベントを削除するだけです。 ProductID値を送信する場合は、フォーム内の非表示の入力フィールドにその値を保持し、送信をクリックするとこのフォーム要素の値も送信されます。 AdminControllerのごHttpPostインデックスアクションメソッドを想定し

@using(Html.BeginForm("Index","Admin")) 
{ 
    <input type="hidden" name="rowID" value="@p.ProductID" /> 
    <input type="submit" value="Delete"/> 
} 

は、商品コードを受け入れるように入力された名前と同じ名前のパラメータがあります。

[HttpPost] 
public ActionResult Index(int rowID) 
{ 
    // to do : Return something 
} 
関連する問題