2017-08-09 60 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的上一個點擊的形式,但它是一個有點脫離了原來質詢的範圍。

相關問題