宁波网站推广公司报价,在哪里建网站免费,网站制作品牌有哪些,asp网站只能打开首页没想到这么不起眼的东西杀了我不少脑细胞…… 在控制台中测试没发现啥问题#xff0c;代码风格什么的就先不管它了 public static class PageNumExt
{public delegate void ToDo(long i);public delegate void PadToDo();public static void GeneratePageNum(this object o,lo…没想到这么不起眼的东西杀了我不少脑细胞…… 在控制台中测试没发现啥问题代码风格什么的就先不管它了 public static class PageNumExt
{public delegate void ToDo(long i);public delegate void PadToDo();public static void GeneratePageNum(this object o,long curr, ToDo cfixToDo, PadToDo padToDo, long fixLen 2, long padding 1){o.GeneratePageNum(curr, cfixToDo, cfixToDo, padToDo, fixLen, padding);}public static void GeneratePageNum(this object o,long curr, ToDo currTodo, ToDo cfixToDo, PadToDo padToDo, long fixLen 2, long padding 1){GeneratePageNum(o,curr, currTodo,1, long.MaxValue,cfixToDo, i { },fixLen, cfixToDo,padding, padToDo,fixLen, curr,cfixToDo, i { });}public static void GeneratePageNum(this object o,long curr, ToDo currToDo,long begin, long end,ToDo beginToDo, ToDo endToDo,long cfix, ToDo cfixToDo,long padding, PadToDo padToDo,long sfixBegin, long pfixEnd,ToDo sfbToDo, ToDo pfeToDo){long i begin;if (begin curr){beginToDo(begin);i;var g1 i sfixBegin;var g3 curr - cfix;var g2 g3 - padding;if (g1 g3)g1 g3;for (; i g1; i)sfbToDo(i);if (i g2){padToDo();i g2 1;}elsefor (; i g3; i)cfixToDo(i);}for (; i curr; i)cfixToDo(i);currToDo(curr);i curr 1;var g i cfix;if (g end)g end;for (; i g; i)cfixToDo(i);if (end curr){var g1 end - pfixEnd;var g2 g1 - padding;if (g g2)padToDo();elsefor (; i g1; i)cfixToDo(i);if (i g1)i g1;for (; i end; i)pfeToDo(i);endToDo(end);}}
} 参数解说 curr - 当前页码 currToDO - 怎样输出当前页码 begin - 页码从多少开始 end - 页码到多少结束 beginToDo - 怎样显示起始页码 endToDo - 怎样显示结束页码 cfix - 当前页的前后页码输出多少个 cfixToDo - 当前页前后页码怎样输出 padding - 所有没有被涵盖进其它参数的页码如果出现次数超过这个参数的值则完全省略掉 padToDo - 被省略掉的页码应该怎样表现 sfixBegin - 从起始页码开始延伸显示多少个页码 pfixEnd - 到结束页码位置延伸显示多少个靠近结束位置的页码 sfbToDo - 起始页码附近的页码应该怎么样表现 pfeToDo -结束页码附近的页码应该怎么样表现 测试用的控制台程序代码 for (var j 1; j 20; j)
{args.GeneratePageNum(j, i {Console.Write([);Console.Write(i);Console.Write(]);Console.Write( );},2, 18,i {Console.Write();Console.Write(i);Console.Write( );},i {Console.Write(i);Console.Write();},2, i {Console.Write(#);Console.Write(i);Console.Write( );},1, () Console.Write(.. ),2, 2, i {Console.Write([);Console.Write(i);Console.Write( );}, i {Console.Write(i);Console.Write(]);Console.Write( );});Console.WriteLine();
}for (var j 1; j 10; j)
{args.GeneratePageNum(j, i {Console.Write([);Console.Write(i);Console.Write(]);Console.Write( );}, i {Console.Write(i);Console.Write( );}, () {Console.Write(.. );}, 2, 1);Console.WriteLine();
} 转载于:https://www.cnblogs.com/NanaLich/archive/2010/07/08/page-number-generate-helper.html