以下是.net控件代码:
本帖相关代码 [全显模式]
以下是js代码部分:
本帖相关代码 [全显模式]
本帖相关代码 [全显模式]
using System;
using System.Web;
using System.Web.UI;
using System.Text.RegularExpressions;
namespace cnVery.bbs
{
public class Pager : Control
{
//属性
private string url;
public string Url {
get {
return url;
}
set {
url = value;
}
}
private int page;
new public int Page {
get {
return page;
}
set {
page = value;
}
}
private int maxpage;
public int MaxPage {
get {
return maxpage;
}
set {
maxpage = value;
}
}
private int per;
public int Per {
get {
return per;
}
set {
per = value;
}
}
private int total;
public int Total {
get {
return total;
}
set {
total = value;
}
}
//构造器
public Pager()
{
this.url = "";
this.page = 1;
this.maxpage = 1;
this.per = 20;
this.total = 0;
}
public Pager( string url, int page, int maxpage, int per, int total)
{
this.url = url;
this.page = page;
this.maxpage = maxpage;
this.per = per;
this.total = total;
}
//方法
private string Get( string key)
{
if (Context.Request.QueryString[key] == null) {
return "";
} else {
return Context.Request.QueryString[key];
}
}
public bool IsNumeric( object obj)
{
if (Regex.IsMatch(obj.ToString(), "^[0-9]+$")) {
return true;
} else {
return false;
}
}
public bool GetTotal()
{
if (IsNumeric(Get( "total"))) {
total = int.Parse(Get( "total"));
return true;
} else {
return false;
}
}
public void Calculate()
{
if (IsNumeric(Get( "page"))) {
page = int.Parse(Get( "page"));
} else {
page = 1;
}
maxpage = Convert.ToInt16(total / per);
if (total % per != 0) {
maxpage++;
}
if (maxpage < 1) {
maxpage = 1;
}
if (page < 1) {
page = 1;
} else if (page > maxpage) {
page = maxpage;
}
url += "total=" + total + "&";
}
//拼装
public string GetHalfContent()
{
string s = "<script language='javascript'>/r/n";
s += ( " var s = pager('"+ url + "', " + page + ", " + maxpage + ", " + total + ", " + per + ", false);/r/n");
s += " document.write(s);/r/n";
s += "</script>";
return s;
}
public string GetContent()
{
string s = "<script language='javascript'>/r/n";
s += ( " var s = pager('"+ url + "', " + page + ", " + maxpage + ", " + total + ", " + per + ", true);/r/n");
s += " document.write(s);/r/n";
s += "</script>";
return s;
}
//输出
protected override void Render(HtmlTextWriter output)
{
output.Write(GetContent());
}
}
}
using System.Web;
using System.Web.UI;
using System.Text.RegularExpressions;
namespace cnVery.bbs
{
public class Pager : Control
{
//属性
private string url;
public string Url {
get {
return url;
}
set {
url = value;
}
}
private int page;
new public int Page {
get {
return page;
}
set {
page = value;
}
}
private int maxpage;
public int MaxPage {
get {
return maxpage;
}
set {
maxpage = value;
}
}
private int per;
public int Per {
get {
return per;
}
set {
per = value;
}
}
private int total;
public int Total {
get {
return total;
}
set {
total = value;
}
}
//构造器
public Pager()
{
this.url = "";
this.page = 1;
this.maxpage = 1;
this.per = 20;
this.total = 0;
}
public Pager( string url, int page, int maxpage, int per, int total)
{
this.url = url;
this.page = page;
this.maxpage = maxpage;
this.per = per;
this.total = total;
}
//方法
private string Get( string key)
{
if (Context.Request.QueryString[key] == null) {
return "";
} else {
return Context.Request.QueryString[key];
}
}
public bool IsNumeric( object obj)
{
if (Regex.IsMatch(obj.ToString(), "^[0-9]+$")) {
return true;
} else {
return false;
}
}
public bool GetTotal()
{
if (IsNumeric(Get( "total"))) {
total = int.Parse(Get( "total"));
return true;
} else {
return false;
}
}
public void Calculate()
{
if (IsNumeric(Get( "page"))) {
page = int.Parse(Get( "page"));
} else {
page = 1;
}
maxpage = Convert.ToInt16(total / per);
if (total % per != 0) {
maxpage++;
}
if (maxpage < 1) {
maxpage = 1;
}
if (page < 1) {
page = 1;
} else if (page > maxpage) {
page = maxpage;
}
url += "total=" + total + "&";
}
//拼装
public string GetHalfContent()
{
string s = "<script language='javascript'>/r/n";
s += ( " var s = pager('"+ url + "', " + page + ", " + maxpage + ", " + total + ", " + per + ", false);/r/n");
s += " document.write(s);/r/n";
s += "</script>";
return s;
}
public string GetContent()
{
string s = "<script language='javascript'>/r/n";
s += ( " var s = pager('"+ url + "', " + page + ", " + maxpage + ", " + total + ", " + per + ", true);/r/n");
s += " document.write(s);/r/n";
s += "</script>";
return s;
}
//输出
protected override void Render(HtmlTextWriter output)
{
output.Write(GetContent());
}
}
}
以下是js代码部分:
本帖相关代码 [全显模式]
function pager(url, page, maxpage, total, per, countsvisible)
{
var s;
if (countsvisible) {
s = "<div style='float:left'>";
} else {
s = "<div>";
}
s += ( "<font class='t3' style='font-family:Courier New;font-size:12px'>");
if (page == 1) {
s += ( "首页 上页 <b>");
} else {
s += ( "<a href='" + url + "page=1'>首页</a> ");
s += ( "<a href='" + url + "page=" + (page-1) + "'>上页</a> <b>");
}
var j = (page-5<1) ? 1 : page-5;
var k = (page+5>maxpage) ? maxpage : page+5;
if (j > 1) {
s += " <a href='" + url + "page=1'>1</a> ... ";
}
var i;
for(i=j; i<k+1; i++) {
if (page == i) {
s += ( "<span class='t2'>" + i + "</span> ");
} else {
s += ( "<a href='" + url + "page=" + i + "'>" + i + "</a> ");
}
}
if (maxpage > k) {
s += " ... <a href='" + url + "page=" + maxpage + "'>" + maxpage + "</a> ";
}
if (page == maxpage) {
s += ( "</b>下页 末页");
} else {
s += ( "</b><a href='" + url + "page=" + (page+1) + "'>下页</a> ");
s += ( "<a href='" + url + "page=" + maxpage + "'>末页</a>");
}
s += ( "</font></div>");
if (countsvisible)
{
s += ( "<div style='float:right'>");
s += ( "总记录:<span class='t2'>" + total + "</span> ");
s += ( "总页数:<span class='t2'>" + maxpage + "</span> ");
s += ( "每页:<span class='t2'>" + per + "</span></div>");
}
return s;
}
{
var s;
if (countsvisible) {
s = "<div style='float:left'>";
} else {
s = "<div>";
}
s += ( "<font class='t3' style='font-family:Courier New;font-size:12px'>");
if (page == 1) {
s += ( "首页 上页 <b>");
} else {
s += ( "<a href='" + url + "page=1'>首页</a> ");
s += ( "<a href='" + url + "page=" + (page-1) + "'>上页</a> <b>");
}
var j = (page-5<1) ? 1 : page-5;
var k = (page+5>maxpage) ? maxpage : page+5;
if (j > 1) {
s += " <a href='" + url + "page=1'>1</a> ... ";
}
var i;
for(i=j; i<k+1; i++) {
if (page == i) {
s += ( "<span class='t2'>" + i + "</span> ");
} else {
s += ( "<a href='" + url + "page=" + i + "'>" + i + "</a> ");
}
}
if (maxpage > k) {
s += " ... <a href='" + url + "page=" + maxpage + "'>" + maxpage + "</a> ";
}
if (page == maxpage) {
s += ( "</b>下页 末页");
} else {
s += ( "</b><a href='" + url + "page=" + (page+1) + "'>下页</a> ");
s += ( "<a href='" + url + "page=" + maxpage + "'>末页</a>");
}
s += ( "</font></div>");
if (countsvisible)
{
s += ( "<div style='float:right'>");
s += ( "总记录:<span class='t2'>" + total + "</span> ");
s += ( "总页数:<span class='t2'>" + maxpage + "</span> ");
s += ( "每页:<span class='t2'>" + per + "</span></div>");
}
return s;
}