Asp.net mvc 如何在MVC4排序中发送当前页码?
您好,我已经在我的MVC应用程序中实现了分页,我正在实现排序功能。当我点击标题(ActionLink)时,我想要排序。这是我的寻呼机代码Asp.net mvc 如何在MVC4排序中发送当前页码?,asp.net-mvc,asp.net-mvc-4,paging,Asp.net Mvc,Asp.net Mvc 4,Paging,您好,我已经在我的MVC应用程序中实现了分页,我正在实现排序功能。当我点击标题(ActionLink)时,我想要排序。这是我的寻呼机代码 @Html.PagedListPager(Model.logDetails, page => Url.Action("Index", new { page, currentFilter = ViewBag.CurrentFilter, filterdateTime=ViewBag.filterdateTime, filterdocType= Mode
@Html.PagedListPager(Model.logDetails, page => Url.Action("Index",
new { page, currentFilter = ViewBag.CurrentFilter, filterdateTime=ViewBag.filterdateTime, filterdocType= Model.doc_typeid, filteredemployeeID = Model.employeeID, filteredcitizenId = Model.citizenId, sortOrder = ViewBag.currentSort }))
Page @(Model.logDetails.PageCount < Model.logDetails.PageNumber ? 0 : Model.logDetails.PageNumber) of @Model.logDetails.PageCount
@Html.PagedListPager(Model.logDetails,page=>Url.Action(“Index”,
新建{page,currentFilter=ViewBag.currentFilter,filterdateTime=ViewBag.filterdateTime,filterdocType=Model.doc_typeid,filteredemployeeID=Model.employeeID,filteredcitizenId=Model.citizenId,sortOrder=ViewBag.currentSort})
@Model.logDetails.PageCount的@页(Model.logDetails.PageCount
这是我要排序的标题
<th>@Html.ActionLink("Label", "Index", new { sortOrder = ViewBag.LabelSortParm, currentFilter = ViewBag.CurrentFilter, filterdateTime = ViewBag.filterdateTime, filterdocType = Model.doc_typeid, filteredemployeeID = Model.employeeID, filteredcitizenId = Model.citizenId, Page })</th>
@Html.ActionLink(“标签”,“索引”,新{sortOrder=ViewBag.LabelSortParm,currentFilter=ViewBag.currentFilter,filterdateTime=ViewBag.filterdateTime,filterdocType=Model.doc_typeid,filterdemployeeid=Model.employeeID,filterdcitizenid=Model.citizenId,Page})
在这里,我无法将当前页码发送回action方法。除当前页码外,我能够将其发送回操作方法的所有值。谁能告诉我如何在ActionLink中获取和发送页码?先谢谢你 在razor视图页面的底部,类似于页面导航的地方。在这种情况下,请注意名为
page
的参数。当从UI发出任何导航请求时,都会将此当前计数传递给控制器操作结果方法
<!--Grid / Page navigations goes here-->
<br />
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount
@Html.PagedListPager(Model, page => Url.Action("List", new { page, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter }))
希望这有帮助。是的,它有帮助。谢谢
public ViewResult List(string sortOrder, string currentFilter, string searchString, int? page, ManageMessage? message)
{
ViewBag.CurrentSort = sortOrder;
ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "Name_desc" : "";
if (searchString != null) { page = 1; }
else { searchString = currentFilter; }
ViewBag.CurrentFilter = searchString;
var company = getComoanyList();
switch (sortOrder)
{
case "Name_desc":
company = company.OrderByDescending(s => s.Name);
break;
default:
company = company.OrderBy(s => s.Name);
break;
}
int pageSize = 10;
int pageNumber = (page ?? 1);
return View(company.ToPagedList(pageNumber, pageSize));
}