日期:2014-05-17  浏览次数:20377 次

MVC 分页方案
在MVC下,你是怎么分页的呢~

------解决方案--------------------
你可以看看MVCPager的分页
------解决方案--------------------
用UrlHelper,逐一改变routedata的page参数,然后生成url
------解决方案--------------------
那有什么困难的。
控制器:
ActionResult Index(int? pagenumber)
{
    ...
}
视图
比如说产生一个 << 1 2 3 当前页 5 6 7 >> 格式的链接:
<% for (int i = (currentpage - 3 < 1) ? 1 : currentpage - 3; i < (currentpage + 3) > maxpage ? maxpage : currentpage + 3; i++) %>
    <% Html.ActionLink("controller", "Index", new { pagenumber = i })%>
------解决方案--------------------
自己用的,给楼主参考一下吧


        private void AppendLink(StringBuilder output, string format, int page, RouteValueDictionary routeValues)
        {
            string url = UrlHelper.GenerateUrl(
                settings.RouteName, settings.ActionName, settings.ControllerName,
                settings.Protocol, settings.HostName, settings.Fragment,
                routeValues, RouteTable.Routes, htmlHelper.ViewContext.RequestContext, true);

            output.AppendFormat(format, page, url);
        }






page = 1;
routeValues["page"] = page;
AppendLink(output, "<a href='{1}'>{0}</a>", page, routeValues);