欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【asp.net自定义分页控件示例】,下面是详细的讲解!
asp.net自定义分页控件示例
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)
{
}
// 只輸入數字
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>
/// 需要分頁的GridView
/// </summary>
public GridView TargetControlID
{
set
{
_gv=value;
}
get
{
return _gv;
}
}
protected void PagerButtonClick(object sender, EventArgs e)
{
//獲得linkebutton的參數值
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>
/// 設定頁面信息
/// </summary>
/// <param name="dsCount">DataSet的紀錄總數</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('對不起,頁數超過索引范圍!');</script>");
}
}
catch
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Script", "<script. language='javascript'>alert('對不起,只能輸入數字!');</script>");
}
}
PageButtonClick(sender, e);
}
}
}
关于asp.net自定义分页控件示例的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【asp】asp.net ubb使用代码-net-ubb使用
- 【默认图片】图片不存在使用默认图片代替的实例
- 【asp】asp.net 页面转向 Response.Redirect Ser
- 【页面打印】关于ASP.NET页面打印技术的常用方法
- 【MVC5】MVC 5 第一章 创建MVC 5 web应用程序-net
- 【MVC】一个简单MVC5 + EF6示例分享-EF6实例-MVC5
- 【服务器】asp.net页面状态管理cookie和服务器状
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
