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包含@使用PagedList.Mvc进行code>和@
在视图中,然后添加@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);
}