C#MVC 5 Razor页面列表:选择并显示特定页面

C#MVC 5 Razor页面列表:选择并显示特定页面,c#,asp.net-mvc,razor,pagination,pagedlist,C#,Asp.net Mvc,Razor,Pagination,Pagedlist,在使用Razor和C#的MVC结构中,我使用MVC.PagedList来显示列表的分页: 现在,这很好用;但是你可以看到,在我的例子中,我可以显示很多页面。客户要求我给他一个选项,以便跳转到特定页面。我见过一些网站,通过使用“…”按钮来实现这一点;但在这里,它什么也不做 因此,我的问题是: 有没有办法通过Mvc.PagedList以本机方式实现这一点 如果没有,我最好的选择是什么来回答客户的需求?我是否只是创建一个包含所有可用页码的下拉列表,然后跳转到该页面?我让他输入页码了吗 PagedLi

在使用Razor和C#的MVC结构中,我使用MVC.PagedList来显示列表的分页:

现在,这很好用;但是你可以看到,在我的例子中,我可以显示很多页面。客户要求我给他一个选项,以便跳转到特定页面。我见过一些网站,通过使用“…”按钮来实现这一点;但在这里,它什么也不做

因此,我的问题是:

  • 有没有办法通过Mvc.PagedList以本机方式实现这一点
  • 如果没有,我最好的选择是什么来回答客户的需求?我是否只是创建一个包含所有可用页码的下拉列表,然后跳转到该页面?我让他输入页码了吗
  • PagedListPager的示例代码:

    @Html.PagedListPager((IPagedList)Model, page => Url.Action("Index", new { page, currentFilter = ViewBag.CurrentFilter }), new PagedListRenderOptions { LiElementClasses = new[] { "needsLoading" } })
    
    提前感谢您为我提供的一切帮助。

    如何实施完全取决于您或客户。你提到的任何一种方法都会奏效;就挑一个吧

    至于直接转到特定页面,只需将所需的页码与页面的URL一起传递即可。通常,这看起来像:

    /my/awesome/paged/list?page=1
    

    其中,
    page
    是保存当前页码的操作参数的名称,
    1
    显然是您要访问的页面。

    只需将页面参数与特定页面一起使用,您就可以在控制器中创建一个包含所有页码的列表,然后在下拉菜单中使用它,或者你可以想象的任何事情:D

    如果我想从URL中删除?page=1(即查询字符串),该怎么办。这是怎么回事?