asp.net自定義分頁(yè)控件示例
一、.ascx頁(yè)面
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Pagination.ascx.cs" Inherits="IOCS.WEB.UserControl.Pagination" %>
<link href="../Content/Css/Pager.css" rel="stylesheet" type="text/css" />
<div id="tbPage" class="pager" runat="server" >
記錄總數(shù):<asp:Label ID="LRecords" runat="server"></asp:Label>
總頁(yè)數(shù):<asp:Label ID="LPages" runat="server"></asp:Label>
當(dāng)前頁(yè):<asp:Label ID="LPage" runat="server"></asp:Label>
<asp:LinkButton ID="LinkFirst" runat="server" CommandArgument="first" nClick="PagerButtonClick"
Text="首頁(yè)"></asp:LinkButton>
<asp:LinkButton ID="LinkPrevious" runat="server" CommandArgument="prev" nClick="PagerButtonClick"
Text="上一頁(yè)"></asp:LinkButton>
<asp:LinkButton ID="LinkNext" runat="server" CommandArgument="next" nClick="PagerButtonClick"
Text="下一頁(yè)"></asp:LinkButton>
<asp:LinkButton ID="LinkLast" runat="server" CommandArgument="last" nClick="PagerButtonClick"
Text="末頁(yè)"></asp:LinkButton>
轉(zhuǎn)到第<asp:TextBox ID="txtpage" CssClass="piut" runat="server" MaxLength="5" AutoPostBack="True" nTextChanged="txtpage_TextChanged"></asp:TextBox>頁(yè)
二、.ascx.cs文件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace IOCS.WEB.UserControl
{
public partial class Pagination : System.Web.UI.UserControl
{
public event EventHandler PageButtonClick;
public bool FirstPost = false;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
// 只輸入數(shù)字
txtpage.Attributes.Add("onclick",
@"if(!((event.keyCode>=48&&event.keyCode<=57)
||(event.keyCode>=96&&event.keyCode<=105)
||(event.keyCode==8)))event.returnValue=false;"
);
}
GridView _gv;
/// <summary>
/// 需要分頁(yè)的GridView
/// </summary>
public GridView TargetControlID
{
set
{
_gv = value;
}
get
{
return _gv;
}
}
protected void PagerButtonClick(object sender, EventArgs e)
{
//獲得linkebutton的參數(shù)值
string arg = ((LinkButton)sender).CommandArgument;
switch (arg)
{
case ("next"):
{
if (_gv.PageIndex < _gv.PageCount - 1)
{
_gv.PageIndex=_gv.PageIndex+1;
}
break;
}
case ("prev"):
{
if (_gv.PageIndex > 0)
{
_gv.PageIndex--;
}
break;
}
case ("first"):
{
_gv.PageIndex = 0;
break;
}
case ("last"):
{
if (_gv.PageCount > 0)
{
_gv.PageIndex = _gv.PageCount - 1;
}
break;
}
default:
{
_gv.PageIndex = Convert.ToInt32(arg);
break;
}
}
PageButtonClick(sender, e);
}
public void SetPageButton()
{
if (_gv.PageIndex == 0)
{
LinkFirst.Enabled = false;
LinkPrevious.Enabled = false;
LinkFirst.Style["color"] = "gray";
LinkPrevious.Style["color"] = "gray";
object s = LinkFirst.Style.Keys;
if (_gv.PageCount > 1)
{
LinkNext.Enabled = true;
LinkLast.Enabled = true;
txtpage.Enabled = true;
txtpage.Enabled = true;
LinkNext.Style["color"] = "#000";
LinkLast.Style["color"] = "#000";
txtpage.Style["readonly"] = "false";
}
else
{
LinkNext.Enabled = false;
LinkLast.Enabled = false;
txtpage.Enabled = false;
LinkNext.Style["color"] = "gray";
LinkLast.Style["color"] = "gray";
txtpage.Style["readonly"] = "true";//background-color
}
}
else if (_gv.PageIndex == _gv.PageCount - 1)
{
LinkFirst.Enabled = true;
LinkPrevious.Enabled = true;
LinkNext.Enabled = false;
LinkLast.Enabled = false;
LinkFirst.Style["color"] = "#000";
LinkPrevious.Style["color"] = "#000";
LinkNext.Style["color"] = "gray";
LinkLast.Style["color"] = "gray";
}
else
{
LinkFirst.Enabled = true;
LinkPrevious.Enabled = true;
LinkNext.Enabled = true;
LinkLast.Enabled = true;
LinkFirst.Style["color"] = "#000";
LinkPrevious.Style["color"] = "#000";
LinkNext.Style["color"] = "#000";
LinkLast.Style["color"] = "#000";
}
}
/// <summary>
/// 設(shè)定頁(yè)面信息
/// </summary>
/// <param name="dsCount">DataSet的紀(jì)錄總數(shù)</param>
public void SetPageRecord(int dsCount)
{
LRecords.Text = dsCount.ToString();
int mod= dsCount%_gv.PageSize;
LPages.Text = (mod == 0 ? dsCount / _gv.PageSize : dsCount / _gv.PageSize + 1).ToString();
LPage.Text = (_gv.PageIndex + 1).ToString();
tbPage.Visible = true;
SetPageButton();
}
protected void txtpage_TextChanged(object sender, EventArgs e)
{
if (txtpage.Text != "")
{
try
{
int index = int.Parse(txtpage.Text.Trim());
if (index <= _gv.PageCount && index >= 1)
{
_gv.PageIndex = index - 1;
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Script", "<script. language='javascript'>alert('對(duì)不起,頁(yè)數(shù)超過(guò)索引范圍!');</script>");
}
}
catch
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Script", "<script. language='javascript'>alert('對(duì)不起,只能輸入數(shù)字!');</script>");
}
}
PageButtonClick(sender, e);
}
}
}
- asp.net webform自定義分頁(yè)控件
- asp.net分頁(yè)控件使用詳解【附實(shí)例下載】
- 解析asp.net的分頁(yè)控件
- 關(guān)于asp.net 自定義分頁(yè)控件
- asp.net中使用自定義控件的方式實(shí)現(xiàn)一個(gè)分頁(yè)控件的代碼
- 分享一個(gè)asp.net pager分頁(yè)控件
- asp.net分頁(yè)控件AspNetPager的樣式美化
- asp.net下Repeater使用 AspNetPager分頁(yè)控件
- AspNetAjaxPager,Asp.Net通用無(wú)刷新Ajax分頁(yè)控件,支持多樣式多數(shù)據(jù)綁定
- asp.net web頁(yè)面自定義分頁(yè)控件使用詳解
相關(guān)文章
IE10下Gridview后臺(tái)設(shè)置行高不起作用解決方法
GridView1.HeaderStyle.Height=17發(fā)現(xiàn)在IE10 中不起作用,經(jīng)過(guò)反復(fù)測(cè)試修改為e.Row.Cells[0].Height=17即可解決問(wèn)題,有類(lèi)似問(wèn)題的朋友可以參考下哈2013-04-04asp.net 獲取目錄下的文件數(shù)和文件夾數(shù)
遍歷一個(gè)文件夾中的文件,需要用到DirectoryInfo類(lèi)中的一個(gè)重要的方法GetFileSystemInfos(),此方法返回指定的是與搜索條件相匹配的文件和子目錄的強(qiáng)類(lèi)型 FileSystemInfo對(duì)象的數(shù)組。2010-07-07IIS應(yīng)用池回收造成Application_Start中定時(shí)執(zhí)行程序停止的問(wèn)題的解決方法
最近在做一個(gè)項(xiàng)目,需要在程序中定時(shí)不斷的執(zhí)行某些操作,結(jié)果發(fā)現(xiàn)每天7,8點(diǎn)過(guò)后到第二天9點(diǎn),定時(shí)程序經(jīng)常都沒(méi)有在執(zhí)行,后來(lái)才知道由于IIS的應(yīng)用池回收導(dǎo)致Application停止。2010-03-03SqlDataReader生成動(dòng)態(tài)Lambda表達(dá)式
這篇文章主要介紹了SqlDataReader生成動(dòng)態(tài)Lambda表達(dá)式,需要的朋友可以參考下2017-04-04.net中string無(wú)重復(fù)數(shù)字的實(shí)現(xiàn)方法
今天做項(xiàng)目的時(shí)候,用js獲得了勾選的checkbox放在了hiddenfile里,然而hiddenfile的值變成了類(lèi)似:“1,1,1,3,3,2,4,5,5,5”,后臺(tái)獲取的時(shí)候,只保留不重復(fù)的數(shù)字,于是想了一想;直接上代碼了。2013-04-04ASP.NET Core實(shí)現(xiàn)單體程序的事件發(fā)布/訂閱詳解
這篇文章主要給大家介紹了關(guān)于ASP.NET Core實(shí)現(xiàn)單體程序的事件發(fā)布/訂閱的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03