C#_简单实用的翻页
简单实用的生成翻页HTML辅助类
C#
using System.Text;
namespace ClassLibrary
{
/// <summary>
///
/// </summary>
public class PageTurning
{
#region 构造函数
/// <summary>
/// 翻页
/// </summary>
/// <param name="count">页码总量</param>
/// <param name="showCount">显示数量</param>
/// <param name="index">当前页码</param>
/// <param name="element">显示元素</param>
/// <param name="css">默认样式</param>
/// <param name="cssChecked">选中样式</param>
/// <param name="cssPageTurning">上一页下一页样式</param>
/// <param name="click">翻页事件</param>
public PageTurning(int count, int showCount, int index, string element, string css, string cssChecked, string cssPageTurning, string click)
{
this.Count = count;
this.ShowCount = showCount;
this.Index = index;
this.Element = element;
this.Css = css;
this.CssChecked = cssChecked;
this.CssPageTurning = cssPageTurning;
this.Click = click;
}
#endregion #region 参数
#region 基本参数
/// <summary>
/// 当前页码
/// </summary>
public int Index { get; set; }
/// <summary>
/// 页码总量
/// </summary>
public int Count { get; set; }
/// <summary>
/// 显示数量
/// </summary>
public int ShowCount { get; set; }
#endregion #region HTML参数
/// <summary>
/// 显示元素
/// </summary>
public string Element { get; set; }
/// <summary>
/// 默认样式
/// </summary>
public string Css { get; set; }
/// <summary>
/// 选中样式
/// </summary>
public string CssChecked { get; set; }
/// <summary>
/// 上一页下一页样式
/// </summary>
public string CssPageTurning { get; set; }
/// <summary>
/// 翻页事件
/// </summary>
public string Click { get; set; }
#endregion
#endregion #region 生成HTML #region 获取最大最小值
/// <summary>
/// 获取最大最小值
/// </summary>
/// <returns></returns>
private int[] GetMinMax()
{
int[] minMax = new int[];
if (Index < ShowCount + )//123...
{
minMax[] = ;
minMax[] = Count > (ShowCount * + ) ? (ShowCount * + ) : Count;
}
else if (Index > Count - * ShowCount + )//...678
{
minMax[] = Count - * ShowCount;
minMax[] = Count;
}
else//...345...
{
minMax[] = Index - ShowCount;
minMax[] = Index + ShowCount;
}
//防止出错
minMax[] = minMax[] < ? : minMax[];
minMax[] = minMax[] < Count ? minMax[] : Count;
minMax[]++;
return minMax;
}
#endregion #region 生成HTML
/// <summary>
/// 生成HTML
/// </summary>
/// <returns></returns>
public string Building()
{
var minMax = GetMinMax();
StringBuilder sb = new StringBuilder();
if (Index > )//加1...
{
sb.AppendFormat("<{0} class={1} onclick={2}>上一页</{0}>", Element, CssPageTurning, Click + "(" + (Index > ? Index - : ) + ")");
if (minMax[] > )
{
sb.AppendFormat("<{0} class={1} onclick={2}>1</{0}>", Element, Css, Click + "(1)");
if (minMax[] > )
{
sb.AppendFormat("<{0} class={1}>...</{0}>", Element, Css);
}
}
}
while (minMax[] < minMax[])//1...345...7
{
sb.AppendFormat("<{0} class={1} onclick={2}>{3}</{0}>", Element, minMax[] != Index ? Css : CssChecked, minMax[] != Index ? Click + "(" + minMax[] + ")" : "", minMax[]);
minMax[]++;
}
if (Index < Count)//加..7
{
if (minMax[] < Count + )
{
if (minMax[] < Count)
{
sb.AppendFormat("<{0} class={1}>...</{0}>", Element, Css);
}
sb.AppendFormat("<{0} class={1} onclick={2}>{3}</{0}>", Element, Css, Click + "(" + Count + ")", Count);
}
sb.AppendFormat("<{0} class={1} onclick={2}>下一页</{0}>", Element, CssPageTurning, Click + "(" + (Count > Index ? Index + : Count) + ")");
}
return sb.ToString();
}
#endregion
#endregion
}
}
调用
public string get(int index)
{
PageTurning pt = new PageTurning(20,1,index,"a","aa","bb","cc","aaaaa");
return pt.Building();
}
HTML实例
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script>
$(function () {
aaaaa(22)
})
function aaaaa(pIndex) {
$("div").load("/test/get", { index: pIndex });
}
</script>
<style>
.aa {
cursor: pointer;
display: block;
border: 1px solid black;
width: 22px;
height: 24px;
float: left;
margin-left: 4px;
} .bb {
cursor: pointer;
display: block;
border: 1px solid black;
width: 22px;
height: 24px;
float: left;
margin-left: 4px;
background-color: pink;
} .cc {
cursor: pointer;
display: block;
border: 1px solid black;
width: 60px;
height: 24px;
float: left;
margin-left: 4px;
background-color: orange;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
效果图
C#_简单实用的翻页的更多相关文章
- 简单做出HTML5翻页效果文字特效
之前在网上看到一款比较有新意的HTML5文字特效,文字效果是当鼠标滑过是出现翻开折叠的效果,类似书本翻页.于是我兴致勃勃的点开源码看了一下,发现其实实现也挺简单的,主要利用了CSS3的transfor ...
- 简单3D翻页相册制作教程
3D效果看起来总是要比平面的图形看起来视觉效果要好的多,今天来教大家制作简单的3D翻页效果的视频. 视频预览链接:https://v.youku.com/v_show/id_XMzgxOTY5NzQz ...
- Android 实现书籍翻页效果----升级篇
自从之前发布了<Android 实现书籍翻页效果----完结篇 >之后,收到了很多朋友给我留言,前段时间由于事情较多,博客写得太匆忙很多细节地方没有描述清楚.所以不少人对其中的地方有不少不 ...
- vue2.X简单翻页/分页
由于业务需要 公司把后台所有数据一次性给前端,数据过多,所以前端需要做一些分页的处理,比较简单的翻页. html代码 <table class="three_td"> ...
- python爬虫_入门_翻页
写出来的爬虫,肯定不能只在一个页面爬,只要要爬几个页面,甚至一个网站,这时候就需要用到翻页了 其实翻页很简单,还是这个页面http://bbs.fengniao.com/forum/10384633. ...
- swift:简单使用翻页控制器UIPageViewController
一.小叙 UIPageViewController是一个实现图书阅读的控制器,使用它可以设置书脊位置.单双页.过渡效果等,它是通过代理的方式来实现翻页,也即上一页.下一页.最终这个UIPageView ...
- jquery翻页turnjs简单实例
jquery翻页turnjs简单实例<pre><div id="flipbook"> <div class="hard" styl ...
- (java)selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出
selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出: 该情况适合能能循环page=1~n,并且每个网页随着循环可以打开的情况, 注意一定是自己拼接的url可以 ...
- 动画:UIKitAnimation 简单动画学习 iOS (一) 渐变 、 移动 、翻页、来回翻转 ——转载
转载请说明(谢谢) http://blog.csdn.net/a21064346/article/details/7851695 点击打开链接 以下 一个系列的 动画效果 在 UIView.h文件中可 ...
随机推荐
- 【openGL】画直线
#include "stdafx.h" #include <GL/glut.h> #include <stdlib.h> #include <math ...
- [Linux] 学习笔记之安装学习环境(sshd, lrzsz)
紧接前一篇,在VMWare安装完Linux,这个时候我们要使用远程工具连接到虚拟机上去了,以前一直使用Putty,后来到新公司之后,推荐使用SecureCRT,使用之后,觉得效果不错,但是每次连接都失 ...
- WPF之MVVM(Step1)——自己实现ICommand接口
开发WPF应用程序,就不得不提MVVM.下面偶将展示MVVM中简单的实现,其中主要在于ICommand的实现上,不过这种实现方式,应该不会有多少人在开发中使用,在此仅作学习使用. 准备: 界面绘制,简 ...
- vector 之删除元素
删除指定位置的元素 删除vector中第5个位置的元素 vector<int> vec; //执行vector初始化操作 vector<; //获取第五个元素的iterator ve ...
- map[C++]
//map是一个存储键值对的容器,也是一个双向链表 #include <iostream> using namespace std; #include <map> int ma ...
- 【java 断点续传】
模拟 断点续传 首先,先读取word文件的 一部分 package com.sxd.readLines; import java.io.File; import java.io.FileInputSt ...
- Jmeter之Badboy录制脚本及简化脚本http请求(三)
测试脚本的精简对于测试来说是一项基础的能力,因为你得看懂一行脚本代表的是什么意思,是怎么运行的,做了什么内容.才能得到对应的测试结果分析. 上一节介绍的代理服务器的录制童鞋们也明白了,有点麻烦,而且不 ...
- Liferay 6.2 改造系列之十:修改系统登录相关配置
1.关闭自动登录功能: 在/portal-master/portal-impl/src/portal.properties文件中,有如下配置: # # Set this to true to allo ...
- express随记01
系统变量的设置 app.get(env) | process.env.NODE_ENV: 会自动判断当前环境类型; app.get(port) | process.env.PORT: 必须手动设置; ...
- Ipython console in Spyder stuck on “connecting to kernel”
简短地记录下,今天排除的spyder的BUG, 现象:打开Spyder时其他正常,但是Ipython console 不能正常获取到kernel,一直转圈,显示“connecting to kerne ...