Asp.net mvc ASP.NET MVC中的分页,而不使用任何外部nuget包

Asp.net mvc ASP.NET MVC中的分页,而不使用任何外部nuget包,asp.net-mvc,pagination,Asp.net Mvc,Pagination,你能告诉我有没有什么方法可以在ASP.NETMVC中进行分页而不使用任何外部nuget包(例如:PageList.MVC)。实际上,我正在寻找一个服务器端解决方案来在MVC本身中进行分页 如果有人知道答案,请帮助我 谢谢 Nishad您可以使用LINQ并将页码和结果每页传递给控制器 var entries = _dbContext.YourTable.OrderBy(e => e.Date).Skip(pageNumber - 1).Take(resultsPerPage); 您的逻辑还

你能告诉我有没有什么方法可以在ASP.NETMVC中进行分页而不使用任何外部nuget包(例如:PageList.MVC)。实际上,我正在寻找一个服务器端解决方案来在MVC本身中进行分页

如果有人知道答案,请帮助我

谢谢
Nishad

您可以使用LINQ并将页码和结果每页传递给控制器

var entries = _dbContext.YourTable.OrderBy(e => e.Date).Skip(pageNumber - 1).Take(resultsPerPage);
您的逻辑还应该通过获取特定查询的记录数并进行一些基本的数学运算来计算将有多少页

这里有一个很好的例子:

您可以使用。它不是NuGet包,它是
System.Web.Helpers
命名空间的一部分,提供了开箱即用的分页功能

1.型号:

public class Product
{
    public int ID { get; set; }
    public string Description { get; set; }
}
@model IEnumerable<MVCTutorial.Models.Product>

@{
    Layout = null;
    WebGrid grid = new WebGrid(Model, canPage: true, canSort: false, rowsPerPage: 2);
}

@grid.GetHtml(
tableStyle: "table",
columns: grid.Columns(
    grid.Column("ID", "ID", format: @<text> @item.ID
    </text>, style: "p13"),
    grid.Column("Description","Description", format: @<text> @item.Description</text>)))
public class HomeController : Controller
{
    public ActionResult GetProducts()
    {
        var p1 = new Product { ID = 1, Description = "Product 1" };
        var p2 = new Product { ID = 2, Description = "Product 2" };
        var p3 = new Product { ID = 3, Description = "Product 3" };
        var p4 = new Product { ID = 4, Description = "Product 4" };

        var products = new List<Product> { p1, p2, p3, p4 };

        return View(products);
    }
}
2.视图:

public class Product
{
    public int ID { get; set; }
    public string Description { get; set; }
}
@model IEnumerable<MVCTutorial.Models.Product>

@{
    Layout = null;
    WebGrid grid = new WebGrid(Model, canPage: true, canSort: false, rowsPerPage: 2);
}

@grid.GetHtml(
tableStyle: "table",
columns: grid.Columns(
    grid.Column("ID", "ID", format: @<text> @item.ID
    </text>, style: "p13"),
    grid.Column("Description","Description", format: @<text> @item.Description</text>)))
public class HomeController : Controller
{
    public ActionResult GetProducts()
    {
        var p1 = new Product { ID = 1, Description = "Product 1" };
        var p2 = new Product { ID = 2, Description = "Product 2" };
        var p3 = new Product { ID = 3, Description = "Product 3" };
        var p4 = new Product { ID = 4, Description = "Product 4" };

        var products = new List<Product> { p1, p2, p3, p4 };

        return View(products);
    }
}
@model IEnumerable
@{
布局=空;
WebGrid grid=新的WebGrid(模型,canPage:true,canSort:false,rowsPerPage:2);
}
@grid.GetHtml(
表样式:“表”,
列:grid.columns(
网格.列(“ID”,“ID”,格式:@@item.ID
,样式:“p13”),
grid.Column(“说明”、“说明”,格式:@@item.Description)))
3.控制器:

public class Product
{
    public int ID { get; set; }
    public string Description { get; set; }
}
@model IEnumerable<MVCTutorial.Models.Product>

@{
    Layout = null;
    WebGrid grid = new WebGrid(Model, canPage: true, canSort: false, rowsPerPage: 2);
}

@grid.GetHtml(
tableStyle: "table",
columns: grid.Columns(
    grid.Column("ID", "ID", format: @<text> @item.ID
    </text>, style: "p13"),
    grid.Column("Description","Description", format: @<text> @item.Description</text>)))
public class HomeController : Controller
{
    public ActionResult GetProducts()
    {
        var p1 = new Product { ID = 1, Description = "Product 1" };
        var p2 = new Product { ID = 2, Description = "Product 2" };
        var p3 = new Product { ID = 3, Description = "Product 3" };
        var p4 = new Product { ID = 4, Description = "Product 4" };

        var products = new List<Product> { p1, p2, p3, p4 };

        return View(products);
    }
}
公共类HomeController:控制器
{
公共行动结果GetProducts()
{
var p1=新产品{ID=1,Description=“Product 1”};
var p2=新产品{ID=2,Description=“产品2”};
var p3=新产品{ID=3,Description=“产品3”};
var p4=新产品{ID=4,Description=“产品4”};
var产品=新列表{p1,p2,p3,p4};
返回视图(产品);
}
}

请注意,“模型视图控制器”标记用于回答有关模式的问题。ASP.NET-MVC实现有一个特定的标记。谢谢Denis。这对我很有帮助。这就是我发现的东西。再次感谢。嗨,丹尼斯,你能告诉我当我点击每个页面时,如何将参数作为ActionResult GetProducts(bool值)传递给action action方法吗。