C# 如何在父模型中使用PagedList-ASP.NET MVC

C# 如何在父模型中使用PagedList-ASP.NET MVC,c#,asp.net-mvc,pagedlist,C#,Asp.net Mvc,Pagedlist,在我的控制器和视图中,我使用了不同的父模态和一个父模态,即注释列表中,我想使用页面列表,我这样做了,正如您在我的控制器中看到的那样,但是说到视图,我很困惑,我不知道我应该把IPagedList包装成哪个模态(Main或Parent) 型号: public class VMRMA { public List<Comment_List> Comment_Lists { get; set; } public class Comment_List

在我的
控制器
视图
中,我使用了不同的
父模态
和一个
父模态
,即
注释列表
中,我想使用
页面列表
,我这样做了,正如您在我的
控制器
中看到的那样,但是说到
视图
,我很困惑,我不知道我应该把
IPagedList
包装成哪个
模态
Main
Parent

型号:

public class VMRMA
    {

    public List<Comment_List> Comment_Lists { get; set; }

        public class Comment_List
        {
            public Comment_List(string PM, int? ID , string writer)
            {
                this.PM = PM;
                this.ID = ID;
                this.writer = writer;    
            }


            public int? ID { get; set; }           
            public string PM { get; set; }
            public string writer { get; set; }
        }

      public HRMA HRMAs { get; set; }

        public class HRMA
        {
            public HRMA(int Id,string Kundenavn)
            {
                this.Id = Id;
                this.Kundenavn = Kundenavn;
            }

            public int Id { get; set; }
            public string Kundenavn { get; set; }

        }
  }
公共类VMRMA
{
公共列表注释\列表{get;set;}
公共类注释列表
{
公共评论列表(字符串PM、int?ID、字符串编写器)
{
this.PM=PM;
this.ID=ID;
this.writer=writer;
}
公共int?ID{get;set;}
公共字符串PM{get;set;}
公共字符串编写器{get;set;}
}
公共HRMA HRMAs{get;set;}
公共类HRMA
{
公共HRMA(整数Id,字符串Kundenavn)
{
这个.Id=Id;
this.Kundenavn=Kundenavn;
}
公共int Id{get;set;}
公共字符串Kundenavn{get;set;}
}
}
视图:

使用ModelNameSpace.Models @VMRMA模型 //单身 //名单 @foreach(模型注释列表中的变量项) { @下午二时三十分 Til@item.writer } 控制器:

    public ActionResult RMA(int? id, VMRMA model , int? pageNumber)
    {

        //List comments
          IPagedList<VMRMA.Comment_List> queryTwo = (from RH in db.RMA_History

                       join RB in db.Besked on RH.Id equals RB.RMAID

                       where RB.RMAID == id 

                       select new VMRMA.Comment_List
                       {
                           //Select Something

                       }).ToPagedList(pageNumber ?? 1, 3);


          var query = (from RH in db.RMA_History
                       join RS in db.RMAStatus on RH.StatusID equals RS.ID


                      where RH.Id == id


                       select new VMRMA.HRMA
                       {
                           //Select Something

                       });

        model.HRMAs = query.FirstOrDefault();
        model.Comment_Lists = queryTwo.ToList();

        return View(model);
   }
公共行动结果RMA(int?id、VMRMA模型、int?页码)
{
//列出评论
IPagedList queryTwo=(从db.RMA_历史中的右侧开始)
将RB连接到db中。包围在右侧。Id等于RB.RMAID
其中RB.RMAID==id
选择新建VMRMA.Comment_列表
{
//挑选
}).ToPagedList(页码??1,3);
var query=(来自db.RMA_历史记录中的RH)
在右侧的db.RMAStatus中加入RS.StatusID等于RS.ID
其中RH.Id==Id
选择新建VMRMA.HRMA
{
//挑选
});
model.HRMAs=query.FirstOrDefault();
model.Comment_list=queryTwo.ToList();
返回视图(模型);
}

您的属性应该是
public IPageList Comment\u list{get;set;}
并删除
model.Comment\u list=querytw
,但您的视图中似乎没有包含
@Html.PageListPager(Model.Comment_list,…)
。@StephenMuecke:)因此,如果我的视图中似乎没有PageListPager,我该怎么办呢!我可以改用PartialView吗?!您需要使用PagedList包含
@
@
在视图中,然后添加
@Html.PagedListPager(Model.Comment\u列表,page=>Url.Action(“RMA”,new{page}))
@StephenMuecke我只是遇到了一个小问题,当我在第1页我的Url是这样的:,当我进入第2页时,我得到了错误,我的Url将是这样的:但它应该是这样的,请您告诉我如何修改:)然后您还需要在路由值中包含
id
,例如
new{page,id=129}
(但不是硬编码,而是通过视图模型属性或
ViewBag
属性传递它-例如
new{page,id=model.id}
    public ActionResult RMA(int? id, VMRMA model , int? pageNumber)
    {

        //List comments
          IPagedList<VMRMA.Comment_List> queryTwo = (from RH in db.RMA_History

                       join RB in db.Besked on RH.Id equals RB.RMAID

                       where RB.RMAID == id 

                       select new VMRMA.Comment_List
                       {
                           //Select Something

                       }).ToPagedList(pageNumber ?? 1, 3);


          var query = (from RH in db.RMA_History
                       join RS in db.RMAStatus on RH.StatusID equals RS.ID


                      where RH.Id == id


                       select new VMRMA.HRMA
                       {
                           //Select Something

                       });

        model.HRMAs = query.FirstOrDefault();
        model.Comment_Lists = queryTwo.ToList();

        return View(model);
   }