用户控件代码
界面代码:
Code
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="PagerData.ascx.cs" Inherits="PagerData" %>
<asp:Panel runat="server" ID="PagerBox">
共 <asp:Label ID="ltl_PageCount" runat="server"></asp:Label> 条记录 共 <asp:Label ID="ltl_RecordCount" runat="server"></asp:Label> 页 当前 <asp:Label ID="ltl_Pageindex" runat="server"></asp:Label> 页 <asp:HyperLink ID="lbn_First" runat="server">首页</asp:HyperLink> <asp:HyperLink ID="lbn_Prev" runat="server" >上一页</asp:HyperLink> <asp:HyperLink ID="lbn_Next" runat="server">下一页</asp:HyperLink> <asp:HyperLink ID="lbn_Last" runat="server">最后一页</asp:HyperLink> 转到 <asp:Label ID="ltl_Jump" runat="server"></asp:Label>
</asp:Panel>
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="PagerData.ascx.cs" Inherits="PagerData" %>
<asp:Panel runat="server" ID="PagerBox">
共 <asp:Label ID="ltl_PageCount" runat="server"></asp:Label> 条记录 共 <asp:Label ID="ltl_RecordCount" runat="server"></asp:Label> 页 当前 <asp:Label ID="ltl_Pageindex" runat="server"></asp:Label> 页 <asp:HyperLink ID="lbn_First" runat="server">首页</asp:HyperLink> <asp:HyperLink ID="lbn_Prev" runat="server" >上一页</asp:HyperLink> <asp:HyperLink ID="lbn_Next" runat="server">下一页</asp:HyperLink> <asp:HyperLink ID="lbn_Last" runat="server">最后一页</asp:HyperLink> 转到 <asp:Label ID="ltl_Jump" runat="server"></asp:Label>
</asp:Panel>
cs代码:
Code
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
public partial class PagerData : System.Web.UI.UserControl
{
private string controlid;
private string sqltext;
private string controltype;
private int shownums;
private string cssstyle;
/// <summary>
/// 被绑定控件ID号
/// </summary>
public string ControlIDs
{
get { return controlid; }
set { controlid = value; }
}
/// <summary>
/// 传入的SQL语句
/// </summary>
public string SqlText
{
get { return sqltext; }
set { sqltext = value; }
}
/// <summary>
/// 控件类型(GridView,DataList,Repeater)
/// </summary>
public string ControlType
{
get { return controltype; }
set { controltype = value; }
}
/// <summary>
/// 显示每页数量
/// </summary>
public string ShowNums
{
get { return shownums.ToString(); }
set { shownums = Convert.ToInt32(value); }
}
/// <summary>
/// 内容
/// </summary>
public string CssClass
{
get { return cssstyle; }
set { cssstyle = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
PagerBox.CssClass = cssstyle;
string sqlcmd = sqltext;
DataSet ds = userSql.db.ExecuteDataset(sqlcmd);
PagedDataSource pds = new PagedDataSource();
pds.DataSource = ds.Tables[0].DefaultView;//设置数据源(DataTable类型)
pds.AllowPaging = true;
//第页显示的行数
pds.PageSize = shownums;
int Pageindex;
//当前页面从Page查询参数获取
if (Request.QueryString["Page"] != null)
Pageindex = Convert.ToInt32(Request.QueryString["Page"]);
else
Pageindex = 1;
//设置当前页
if (Pageindex < 1) Pageindex = 1;
pds.CurrentPageIndex = Pageindex - 1;
if (controltype == "GridView")
{
GridView rpt_NewsList = (GridView)Page.FindControl(controlid);
rpt_NewsList.DataSource = pds;
rpt_NewsList.DataBind();
}
else if (controltype == "DataList")
{
DataList rpt_NewsList = (DataList)Page.FindControl(controlid);
rpt_NewsList.DataSource = pds;
rpt_NewsList.DataBind();
}
else
{
Repeater rpt_NewsList = (Repeater)Page.FindControl(controlid);
rpt_NewsList.DataSource = pds;
rpt_NewsList.DataBind();
}
long L_Manage = 1;
//显示页码
ltl_RecordCount.Text = pds.DataSourceCount.ToString();
ltl_PageCount.Text = pds.PageCount.ToString();
ltl_Pageindex.Text = Pageindex.ToString();
ltl_Jump.Text = Jump_List(pds.PageCount, Pageindex, L_Manage);
//显示上下翻页(URL 后面跟的参数自已跟据需要定义)
lbn_First.ToolTip = "跳转到首页";
lbn_First.NavigateUrl = Request.CurrentExecutionFilePath + "?Org_ID=" + L_Manage + "&page=1";
lbn_Prev.ToolTip = "跳转到上一页";
lbn_Prev.NavigateUrl = Request.CurrentExecutionFilePath + "?Org_ID=" + L_Manage + "&page=" + (Pageindex - 1);
lbn_Next.ToolTip = "跳转到下一页";
lbn_Next.NavigateUrl = Request.CurrentExecutionFilePath + "?Org_ID=" + L_Manage + "&page=" + (Pageindex + 1);
lbn_Last.ToolTip = "跳转到最后一页";
lbn_Last.NavigateUrl = Request.CurrentExecutionFilePath + "?Org_ID=" + L_Manage + "&page=" + pds.PageCount.ToString();
//确定链接的显示方式
if (Pageindex <= 1 && pds.PageCount <= 1)
{
lbn_First.NavigateUrl = "";
lbn_Prev.NavigateUrl = "";
lbn_Next.NavigateUrl = "";
lbn_Last.NavigateUrl = "";
}
if (Pageindex <= 1 && pds.PageCount > 1)
{
lbn_First.NavigateUrl = "";
lbn_Prev.NavigateUrl = "";
}
if (Pageindex >= pds.PageCount)
{
lbn_Next.NavigateUrl = "";
lbn_Last.NavigateUrl = "";
}
}
/**/
/// <summary>
/// 计算分页跳转
/// </summary>
/// <param name="Pagecount">页面数</param>
/// <returns>string</returns>
private string Jump_List(int Pagecount, int Pageindex, long L_Manage)
{
StringBuilder sb = new StringBuilder();
sb.Append("<select id=\"Page_Jump\" name=\"Page_Jump\" onchange=\"window.location='" + Request.CurrentExecutionFilePath + "?page='+ this.options[this.selectedIndex].value + '&Org_ID=" + L_Manage + "';\">");
for (int i = 1; i <= Pagecount; i++)
{
if (Pageindex == i)
sb.Append("<option value='" + i + "' selected>" + i + "</option>");
else
sb.Append("<option value='" + i + "'>" + i + "</option>");
}
sb.Append("</select>");
return sb.ToString();
}
}
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
public partial class PagerData : System.Web.UI.UserControl
{
private string controlid;
private string sqltext;
private string controltype;
private int shownums;
private string cssstyle;
/// <summary>
/// 被绑定控件ID号
/// </summary>
public string ControlIDs
{
get { return controlid; }
set { controlid = value; }
}
/// <summary>
/// 传入的SQL语句
/// </summary>
public string SqlText
{
get { return sqltext; }
set { sqltext = value; }
}
/// <summary>
/// 控件类型(GridView,DataList,Repeater)
/// </summary>
public string ControlType
{
get { return controltype; }
set { controltype = value; }
}
/// <summary>
/// 显示每页数量
/// </summary>
public string ShowNums
{
get { return shownums.ToString(); }
set { shownums = Convert.ToInt32(value); }
}
/// <summary>
/// 内容
/// </summary>
public string CssClass
{
get { return cssstyle; }
set { cssstyle = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
PagerBox.CssClass = cssstyle;
string sqlcmd = sqltext;
DataSet ds = userSql.db.ExecuteDataset(sqlcmd);
PagedDataSource pds = new PagedDataSource();
pds.DataSource = ds.Tables[0].DefaultView;//设置数据源(DataTable类型)
pds.AllowPaging = true;
//第页显示的行数
pds.PageSize = shownums;
int Pageindex;
//当前页面从Page查询参数获取
if (Request.QueryString["Page"] != null)
Pageindex = Convert.ToInt32(Request.QueryString["Page"]);
else
Pageindex = 1;
//设置当前页
if (Pageindex < 1) Pageindex = 1;
pds.CurrentPageIndex = Pageindex - 1;
if (controltype == "GridView")
{
GridView rpt_NewsList = (GridView)Page.FindControl(controlid);
rpt_NewsList.DataSource = pds;
rpt_NewsList.DataBind();
}
else if (controltype == "DataList")
{
DataList rpt_NewsList = (DataList)Page.FindControl(controlid);
rpt_NewsList.DataSource = pds;
rpt_NewsList.DataBind();
}
else
{
Repeater rpt_NewsList = (Repeater)Page.FindControl(controlid);
rpt_NewsList.DataSource = pds;
rpt_NewsList.DataBind();
}
long L_Manage = 1;
//显示页码
ltl_RecordCount.Text = pds.DataSourceCount.ToString();
ltl_PageCount.Text = pds.PageCount.ToString();
ltl_Pageindex.Text = Pageindex.ToString();
ltl_Jump.Text = Jump_List(pds.PageCount, Pageindex, L_Manage);
//显示上下翻页(URL 后面跟的参数自已跟据需要定义)
lbn_First.ToolTip = "跳转到首页";
lbn_First.NavigateUrl = Request.CurrentExecutionFilePath + "?Org_ID=" + L_Manage + "&page=1";
lbn_Prev.ToolTip = "跳转到上一页";
lbn_Prev.NavigateUrl = Request.CurrentExecutionFilePath + "?Org_ID=" + L_Manage + "&page=" + (Pageindex - 1);
lbn_Next.ToolTip = "跳转到下一页";
lbn_Next.NavigateUrl = Request.CurrentExecutionFilePath + "?Org_ID=" + L_Manage + "&page=" + (Pageindex + 1);
lbn_Last.ToolTip = "跳转到最后一页";
lbn_Last.NavigateUrl = Request.CurrentExecutionFilePath + "?Org_ID=" + L_Manage + "&page=" + pds.PageCount.ToString();
//确定链接的显示方式
if (Pageindex <= 1 && pds.PageCount <= 1)
{
lbn_First.NavigateUrl = "";
lbn_Prev.NavigateUrl = "";
lbn_Next.NavigateUrl = "";
lbn_Last.NavigateUrl = "";
}
if (Pageindex <= 1 && pds.PageCount > 1)
{
lbn_First.NavigateUrl = "";
lbn_Prev.NavigateUrl = "";
}
if (Pageindex >= pds.PageCount)
{
lbn_Next.NavigateUrl = "";
lbn_Last.NavigateUrl = "";
}
}
/**/
/// <summary>
/// 计算分页跳转
/// </summary>
/// <param name="Pagecount">页面数</param>
/// <returns>string</returns>
private string Jump_List(int Pagecount, int Pageindex, long L_Manage)
{
StringBuilder sb = new StringBuilder();
sb.Append("<select id=\"Page_Jump\" name=\"Page_Jump\" onchange=\"window.location='" + Request.CurrentExecutionFilePath + "?page='+ this.options[this.selectedIndex].value + '&Org_ID=" + L_Manage + "';\">");
for (int i = 1; i <= Pagecount; i++)
{
if (Pageindex == i)
sb.Append("<option value='" + i + "' selected>" + i + "</option>");
else
sb.Append("<option value='" + i + "'>" + i + "</option>");
}
sb.Append("</select>");
return sb.ToString();
}
}
调用代码
前台界面代码:
Code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="Admin_test" %>
<%@ Register Src="PagerData.ascx" TagName="PagerData" TagPrefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<link href="test.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<div>
<%-- <asp:Repeater ID="rpt_NewsList" runat="server">
<ItemTemplate>
<%#Eval("Adminname") %>
</ItemTemplate>
</asp:Repeater>--%>
<uc1:PagerData ID="PagerData1" runat="server" />
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<%#Eval("Adminname") %>
</ItemTemplate>
</asp:DataList></div>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="Admin_test" %>
<%@ Register Src="PagerData.ascx" TagName="PagerData" TagPrefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<link href="test.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<div>
<%-- <asp:Repeater ID="rpt_NewsList" runat="server">
<ItemTemplate>
<%#Eval("Adminname") %>
</ItemTemplate>
</asp:Repeater>--%>
<uc1:PagerData ID="PagerData1" runat="server" />
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<%#Eval("Adminname") %>
</ItemTemplate>
</asp:DataList></div>
</form>
</body>
</html>
前台cs代码:
Code
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
public partial class Admin_test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack){
PagerData1.SqlText = "select * from Admin";
PagerData1.ControlIDs = "DataList1";
PagerData1.ControlType = "DataList";
PagerData1.ShowNums = "3";
PagerData1.CssClass = "xxx";
}
}
}
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
public partial class Admin_test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack){
PagerData1.SqlText = "select * from Admin";
PagerData1.ControlIDs = "DataList1";
PagerData1.ControlType = "DataList";
PagerData1.ShowNums = "3";
PagerData1.CssClass = "xxx";
}
}
}