2017-08-09 9 views
0

私はいくつかの基本的なページングのためにこれらの値をコントローラに戻そうとしていますが、なぜそれらが取得されないのかわかりません。アトリビュートをクリックしてビューからコントローラに値を渡す

私はそれらを渡すために間違ってASPルートを使用していますか?

ビュー:

<ul class="pager"> 
    <li class="previous"><a asp-action="Index" asp-route-prev="@Model.First().ID">Previous</a></li> 
    <li class="next"><a asp-action="Index" asp-route-next="@Model.Last().ID">Next</a></li> 
</ul> 

コントローラ:あなたはをクリックすると、コードの上

[HttpPost, ActionName("Index")] 
     [ValidateAntiForgeryToken] 
     public async Task<IActionResult> IndexPost(string certification, string category, string resource, int prev, int next) 

答えて

1
<a asp-action="Index" asp-route-prev="@Model.First().ID">Previous</a> 

は、アクションメソッドにHTTPGET要求を行うタグをレンダリングそれ。

あなたはHttpPostを作りたい場合は、提出するタイプでフォームタグ、およびボタンまたは入力タグを使用する必要があります。

<ul class="pager"> 
    <li class="previous"> 
     <form asp-controller="Home" asp-action="Index" 
      asp-route-prev="@Model.First().ID" method="post" role="form"> 
      <button type="submit">Previous</button> 
     </form> 
    </li> 
</ul> 

もう一つの方法は、クリックでJavaScriptやjQueryのを使用してフォームを投稿することですが、それは少し元の質問の範囲外です。

関連する問題