以下是一个示例解决方案,演示了如何在ASP.NET MVC中使用Bootstrap 4创建一个分页控件,并在页面上显示当前活动页码。
首先,在你的MVC项目中创建一个名为"PagerHelper.cs"的帮助类,该类将帮助你生成分页控件的HTML代码。在这个类中,你可以定义分页控件的样式、当前活动页码的显示方式等。
using System;
using System.Text;
using System.Web.Mvc;
using System.Web.Mvc.Html;
namespace YourNamespace.Helpers
{
public static class PagerHelper
{
public static MvcHtmlString BootstrapPager(this HtmlHelper html, int currentPage, int totalPages, Func pageUrl)
{
StringBuilder sb = new StringBuilder();
sb.Append("");
// 添加上一页链接
if (currentPage > 1)
{
sb.AppendFormat("- {1}
", pageUrl(currentPage - 1), "上一页");
}
// 添加数字链接
for (int i = 1; i <= totalPages; i++)
{
if (i == currentPage)
{
sb.AppendFormat("- {1}
", pageUrl(i), i);
}
else
{
sb.AppendFormat("- {1}
", pageUrl(i), i);
}
}
// 添加下一页链接
if (currentPage < totalPages)
{
sb.AppendFormat("- {1}
", pageUrl(currentPage + 1), "下一页");
}
sb.Append("
");
return new MvcHtmlString(sb.ToString());
}
}
}
然后,在你的视图文件中,你可以使用BootstrapPager
方法来生成分页控件的HTML代码,并将其显示在页面上。
@model YourModel
@Html.BootstrapPager(Model.CurrentPage, Model.TotalPages, page =>
{
return Url.Action("Index", new { page = page });
})
上面的代码中,Model.CurrentPage
表示当前活动页码,Model.TotalPages
表示总页码数。Url.Action
方法用于生成每个页码链接的URL。
通过上述方法,你可以在ASP.NET MVC中使用Bootstrap 4创建一个分页控件,并在页面上显示当前活动页面。请根据你的实际需求进行适当的调整和修改。