X.PagedList .NET Core First Page 始终在 @Html.PagedListPager 中选择

问题描述

我已经使用 X.PagedList nuget 为 .Net Core 3 项目创建了分页,当我点击页码时,它会调用检索部分视图并更新 div 的操作数据列表,一切正常,但是当我单击第 2 页时,列表中的数据已更新,但当前页面选择仍为 1,它应更改为 2。每次单击大于 1 的页面时,选择在 PagedListPager 中仍为 1。

    @Html.PagedListPager(Model.Orderviewmodels,page => Url.Action("OrdeRSSearch2","Orders",new { ViewBag.SearchName,page = page }),PagedListRenderOptions.EnableunobtrusiveAjaxReplacing(new PagedListRenderOptions
    {
        LiElementClasses = new string[] { "page-item" },PageClasses = new string[] { "page-link" },},new AjaxOptions()
    {
        HttpMethod = "POST",UpdateTargetId = "OrdersList",}))

订单索引视图模型

    public class OrdersIndexviewmodel
{
    public IPagedList<Orderviewmodel> Orderviewmodels { get; set; }
    public SearchOrderviewmodel SearchOrderviewmodel { get; set; }

}

还有我的 Action in Orders 控制器

        public ActionResult OrdeRSSearch2(int? page)
    {
        if (!ModelState.IsValid)
        {
            return View(mymodel);
        }
        OrderSearch ors = new OrderSearch();

        ors.PageNumber = page ?? 1;

        var entitiesList = orderService.FindBy(ors).ToPagedList(ors.PageNumber,5);


        var model = new OrdersIndexviewmodel();
        model.Orderviewmodels = entitiesList.Toviewmodels();
        return PartialView("_OrdersListPartial",model.Orderviewmodels);

    }

索引.cshtml

        @model OrdersIndexviewmodel
<div id="OrdersList">
           <partial name="_OrdersListPartial.cshtml" model="Model.Orderviewmodels" />
</div>

enter image description here

_OrdersListPartial.cshtml

@model X.PagedList.IPagedList<Orderviewmodel>
@{
    int rowNo = 0;
}


<div id="basic-examples">
    <div class="card">
        <div class="card-content">
            <div class="card-body">
            <div class="row">
                <div class="col-12">
                    <input type="submit" value="New Order" class="btn btn-primary mr-1 mb-1 waves-effect waves-light" onclick="location.href='@Url.Action("AddOrder","Orders")'" />

                </div>
            </div>
            <div class="" id="OrdersList">
                @if (Model == null || Model.Count == 0)
                {
                    <div class="alert alert-warning">No Orders</div>
                }
                else
                {
                    <div class="row">
                        <div class="col-12">
                            <div class="card">
                                <div class="card-header">
                                    <h4 class="mb-0">Orders List</h4>
                                </div>
                                <div class="card-content">
                                    <div class="table-responsive mt-1">
                                        <table class="table table-hover-animation mb-0">
                                            <thead>
                                                <tr>
                                                    <th>#</th>
                                                    <th>ID</th>
                                                    <th>CUSTOMER NAME</th>
                                                    <th>CREATED</th>
                                                    <th>DELIVERY DATE</th>
                                                    <th>STATUS</th>


                                                    <th>OPERATORS</th>
                                                    <th></th>
                                                    <th style="display:none"></th>
                                                </tr>
                                            </thead>
                                            <tbody>
                                                @foreach (var i in @Model)
                                                {
                                                    rowNo = rowNo + 1;
                                                    <tr>
                                                        <td>@rowNo</td>
                                                        <td>@ViewBag.OrdersPrefix @i.ID</td>
                                                        <td><i class="fa fa-circle font-small-3 text-success mr-50"></i>@i.CustomerName</td>
                                                        <td>@Html.displayFor(x => i.CreatedDate)</td>
                                                        <td>@Html.displayFor(x => i.DeliveryDate)</td>
                                                        <td>@i.OrderStatusText</td>

                                                        <td class="p-1">
                                                            <ul class="list-unstyled users-list m-0  d-flex align-items-center">
                                                                <li data-toggle="tooltip" data-popup="tooltip-custom" data-placement="bottom" data-original-title="Vinnie Mostowy" class="avatar pull-up">
                                                                    <img class="media-object rounded-circle" src="../../../app-assets/images/portrait/small/avatar-s-5.jpg" alt="Avatar" height="30" width="30">
                                                                </li>
                                                                <li data-toggle="tooltip" data-popup="tooltip-custom" data-placement="bottom" data-original-title="Elicia Rieske" class="avatar pull-up">
                                                                    <img class="media-object rounded-circle" src="../../../app-assets/images/portrait/small/avatar-s-7.jpg" alt="Avatar" height="30" width="30">
                                                                </li>
                                                                <li data-toggle="tooltip" data-popup="tooltip-custom" data-placement="bottom" data-original-title="Julee Rossignol" class="avatar pull-up">
                                                                    <img class="media-object rounded-circle" src="../../../app-assets/images/portrait/small/avatar-s-10.jpg" alt="Avatar" height="30" width="30">
                                                                </li>
                                                                <li data-toggle="tooltip" data-popup="tooltip-custom" data-placement="bottom" data-original-title="Darcey Nooner" class="avatar pull-up">
                                                                    <img class="media-object rounded-circle" src="../../../app-assets/images/portrait/small/avatar-s-8.jpg" alt="Avatar" height="30" width="30">
                                                                </li>
                                                            </ul>
                                                        </td>

                                                        <td>
                                                            @Html.ActionLink("Edit","EditOrder",routeValues: new { ID = i.ID })
                                                        </td>
                                                        <td style="display:none">
                                                            <i class="feather icon-trash"></i>
                                                            @Html.ActionLink("Delete","DeleteOrderDetailTempItem",routeValues: new { ID = i.ID },htmlAttributes: new
                                                                  {
                                                                      @data_ajax = "true",@data_ajax_method = "Get",@data_ajax_update = "#OrderDetailList",@data_ajax_failure = "onFailureDefault",@data_ajax_success = "ViewOnSuccess",})


                                                        </td>
                                                    </tr>
                                                }
                                            </tbody>
                                        </table>
                                    </div>



                                </div>
                            </div>
                        </div>
                    </div>
                }

            </div>
        </div>
    </div>
</div>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)