2016-06-01 7 views
0

PagedListPagerはコントローラー内の実際のアクションを起動しません。インデックスのポストアクションは、pagedlistpagerによって呼び出されることはありません。これは私のメソッドです。PagedListPagerはコントローラー内の関連アクションを起動しません。

// Get 
    public ActionResult Index(string searchItem = "") 
    { 
     var categories = _categoryService.GetAllCategories(new GetCategoriesInput { Filter = searchItem.ToLower() }); 
     var model = categories.ToPagedList(1, 10); 
     return View(model); 
    } 

    [HttpPost] 
    public ActionResult Index(string searchItem, int? page) 
    { 
     if (page == null) 
     { 
      var categories = _categoryService.GetAllCategories(new GetCategoriesInput { Filter = searchItem.ToLower() }); 
      var model = categories.ToPagedList(1, 10); 
      return View(model); 
     } 
     else 
     { 
      var categories = _categoryService.GetAllCategories(new GetCategoriesInput { Filter = searchItem.ToLower() }); 
      var model = categories.ToPagedList((int)page, 10); 
      return View(model); 
     } 

    } 

最後に私のビューページ。

@using PagedList.Mvc; 
    @using PagedList; 

    @model IPagedList<Categories.CategoryListDto> 

    <div class="text-center"> 
     @Html.PagedListPager(Model, page => Url.Action("Index", "Category", new { page = page })) 
    </div> 

誰かが私に欠けているものを指摘できますか?どんな助けもありがたい。

+0

あなたは '[HttpPost]'でマークされた方法を打つことを期待していますか? (それは '' [HttpGet] 'メソッドに行き、' int?page'パラメータと関連するコードをそのメソッドに追加する必要があります - POSTメソッドを削除する必要があります) –

+0

はい私はそのメソッドにヒットすると思います。それはなぜでしょうか?私は別のタスクのためにそのメソッドを活用しています。 – user3055125

+1

これは 'PagedList.MVC'のやり方ではないので、GETメソッドに行きます。 –

答えて

0
@using PagedList.Mvc; 
@using PagedList; 

@model IPagedList<Categories.CategoryListDto> 
@Html.Editor("Search", ViewBag.searchItem as string, new { htmlAttributes = new { @class = "form-control", placeholder = "", maxlength = 50 } }) 
@Html.PagedListPager(Model, page => Url.Action("Index", "Category", new { searchItem = ViewBag.searchItem ,page = page })) 
</div> 
関連する問題