2017-11-24 1 views
1

コンテキスト:iddate処置ルーティング:アプリケーションは、GETおよびPOSTメソッドとの間で混乱

GETメソッドで構成図はこの時点で2つのパラメータを取ります。このビューでは、この方法

[HttpGet] 
    public async Task<IActionResult> DetailsAdmin(int? id, [ModelBinder(typeof(PModelBinder))]DateTime? date) 
    { 
     {...} 
    } 

POSTメソッド

[HttpPost, ActionName("DetailsAdmin")] 
    [ValidateAntiForgeryToken] 
    [Route("HechosLiquidadors/DetailsAdmin/{id}")] 
    public async Task<IActionResult> DetailsAdmin(int? id) 
    { 
     {...} 
    } 
をGETパラメータ id

を用いてPOSTメソッドスルーコントローラに戻って情報を送信する形態があります

プロblem:

ビュー内のフォームがコントローラに情報を送信すると、POSTアクションの代わりにGETアクションに移動します。

形式:

<form id="@(String.Format("{0}{1}","form",Model[i].HechosID))" 
asp-action="DetailsAdmin" method="post" asp-route-id="@Model[i].HechosID" ></form> 

私はPOSTアクションメソッドが、運にカスタムルーティングを使用してみました。フォームがPOSTアクションを正しく指し示すように、これをどのように修正できますか?

答えて

0

両方のアクションメソッドでは、すべてのパラメータはオプションです。したがって、Mvcは実行するための「最善の候補」メソッドを選択できません。 最初のアクションを次のように変更し、IDが0でないことを確認してください。

関連する問題