指定PagedListPager选项

时间:2019-01-20 23:37:20

标签: c# .net model-view-controller razor-pages pagedlist

我有一个PagedListPager的以下代码:

@Html.PagedListPager(
    model,
    page => Url.Action("Index",
    new
    {
        page,
        sortOrder = ViewBag.CurrentSort,
        currentFilter = viewBag.CurrentFilter
    }
    ),
    new PagedListRenderOptions()
    {
        LiElementClasses = new List<string> {"myClass", "yourClass"}
    })  

在PagedListRenderOptions实例中,如何为PagedListRenderOptions.OnlyShowFivePagesAtATime指定/添加选项?


PagedListRenderOptions类的定义如下:

public class PagedListRenderOptions
{
    public PagedListRenderOptions();
    ...
    public static PagedListRenderOptions OnlyShowFivePagesAtATime { get; }
    public IEnumerable<string> LiElementClasses { get; set; }
    ....
}

更新

之所以认为这是可能的原因是因为以下是可行且可行的:

Html.PagedListPager(
    model,
    page => Url.Action("Index",
    new
    {
        page,
        sortOrder = ViewBag.CurrentSort,
        currentFilter = viewBag.CurrentFilter
    }
    ),PagedListRenderOptions.OnlyShowFivePagesAtATime)  

1 个答案:

答案 0 :(得分:0)

是的,它被声明为static字段,并且不打算进行设置。

它只会为您返回具有固定属性的只读PagedListRenderOptions,因此您无需创建一个。{p>

您可以使用以下

@Html.PagedListPager(
model,
page => Url.Action("Index",
new
{
    page,
    sortOrder = ViewBag.CurrentSort,
    currentFilter = viewBag.CurrentFilter
}
),
new PagedListRenderOptions()
{
    LiElementClasses = new List<string> {"myClass", "yourClass"},
    //The following properties are the same as OnlyShowFivePagesAtATime
    DisplayLinkToFirstPage = PagedListDisplayMode.Never,
    DisplayLinkToLastPage = PagedListDisplayMode.Never,
    DisplayLinkToPreviousPage = PagedListDisplayMode.Always,
    DisplayLinkToNextPage = PagedListDisplayMode.Always,
    MaximumPageNumbersToDisplay = 5
}) 

考虑类似的情况。

您可以通过设置其Color的A,R,G,B值来构造它。但是,当您需要蓝色时,可以只使用Color.Blue,它是一个静态的只读属性,其A,R,G,B值是固定的,并且已经为您设置了。