asp.net 如果第二页上只有一条记录,mvc 网络网格不显示分页

asp.net mvc web grid is not showing pagination if there is only one record on the secound page

当从我的网站前端插入一条记录时,它会在 ajax 表单提交后填充网格。我正在使用 mvc web 网格显示数据,网格被限制为每页仅显示 4 条记录。

如果我从表格中插入 5 条记录,它就会消失并且分页不会显示,直到我在网格中放入第 6 条记录,如果这样做的话,分页会在第二页上显示 2 条记录不明白的是为什么现在插入时显示第5条记录,而添加第6条记录后才显示。

这是网格的控制器操作

public ActionResult grid(int page = 1, int pageSize = 4, int AppointmentID = 0, int PatientID = 0)
    {

        AllergiesAppointmentList = ObjAllergiesRepository.PatientAllergiesAppointmentList(PatientID, AppointmentID, Helpers.SessionHelper._PracticeID, page, pageSize);

        int PatientIDForCheckOnly = 0;
        bool status = true;
        int callfor = 1;
        ViewBag.TotalAllergyCount = AllergiesAppointmentList.Count();
        //ViewBag.IsNKAStatus = ObjAllergiesRepository.PatientAllergyDetail_Profile(PatientIDForCheckOnly, status, );

        var recordAppointment = new CustomPaging<Allergies>();
        recordAppointment.Content = AllergiesAppointmentList.ToList();
        if (AllergiesAppointmentList.Count() != 0)
        {
            recordAppointment.TotalRecords = AllergiesAppointmentList.FirstOrDefault().TotalRecords;
        }
        else
        {
            recordAppointment.TotalRecords = 0;
        }
        recordAppointment.CurrentPage = 1;
        recordAppointment.PageSize = 5;

        return View(recordAppointment);
    }

以防其他人遇到同样的问题。有两点可用于网格配置。一个是您自己在控制器中设置记录数,并按该顺序查询数据库 returns 记录。其次是在视图中的 web 网格本身。对于此选项,您从数据库中获取所有记录并在前端进行分页(对于大型数据库来说非常昂贵)。对于此设置,您必须像这样设置网格参数

var grid = new WebGrid(canPage: true, rowsPerPage: Your desired page size...

我做错的是我要求我的数据库进行分页,但我也要求我的网络网格做同样的事情因此显示了错误的记录数。