ITPub博客

首页 > 应用开发 > IT综合 > 用asp.net轻松打造功能完备的分页技术!!!! (转)

用asp.net轻松打造功能完备的分页技术!!!! (转)

原创 IT综合 作者:amyz 时间:2007-08-15 15:20:04 0 删除 编辑
用asp.net轻松打造功能完备的分页技术!!!! (转)[@more@]

  用过ASP开发过web程序的人都知道,分页让asp程序员是一件非常头痛的事,我在这就来说说用ASP.NET轻松打造的分页技术.

 第一步我们在vs.net新建项目,这些我不说了,你自己搞定吧,我在这里主要贴出重要的代码.

1.webform1.aspx

<%@ Page language="C#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="page.WebForm1" %>
w3c//DTD HTML 4.0 Transitional//EN" >

 
 WebForm1
 microsoft Visual Studio 7.0" name="GENERATOR">
 
 Javascript" name="vs_defaultClientScript">
 IE5">http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
 
 
 RM id="Form1" method="post" runat="server">
 


 
 
 
 
 
 
 
 







 

一共  记录
  共  页
 第  页

 
 
 
 跳转到第页
 

 
 

2.webform1.cs

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.sqlClient;

namespace page
{
 ///


 /// WebForm1 的摘要说明。
 ///

 public class WebForm1 : System.Web.UI.Page
 {
 protected System.Web.UI.WebControls.Label lblpagecount;
 protected System.Web.UI.WebControls.Label lblcurrentindex;
 protected System.Web.UI.WebControls.LinkButton first;
 protected System.Web.UI.WebControls.LinkButton prev;
 protected System.Web.UI.WebControls.LinkButton next;
 protected System.Web.UI.WebControls.DataGrid DataGrid1;
 protected System.Web.UI.WebControls.TextBox to;
 protected System.Web.UI.WebControls.Button go;
 protected System.Web.UI.WebControls.Label lblallcount;
 protected System.Web.UI.WebControls.LinkButton last;
 
 void Page_Load(object sender, System.EventArgs e)
 {
 // 在此处放置用户代码以初始化页面
 first.Text="最首页";
 prev.Text="前一页";
 next.Text="下一页";
 last.Text="最后页";
 if(!IsPostBack)
 {
 BindGrid();
 }
 }

 #region Web Form Designer generated code
 override protected void OnInit(EventArgs e)
 {
 //
 // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
 //
 InitializeComponent();
 base.OnInit(e);
 }
 
 ///


 /// 设计器支持所需的方法 - 不要使用代码编辑器修改
 /// 此方法的内容。
 ///

 private void InitializeComponent()
 { 
 this.DataGrid1.PageIndExchanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.Page_Changed);
 this.first.Click += new System.EventHandler(this.btnClick);
 this.prev.Click += new System.EventHandler(this.btnClick);
 this.next.Click += new System.EventHandler(this.btnClick);
 this.last.Click += new System.EventHandler(this.btnClick);
 this.go.Click += new System.EventHandler(this.goClick);
 this.Load += new System.EventHandler(this.Page_Load);

 }
 #endregion

 void Page_Changed(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
 {
 DataGrid1.CurrentPageIndex=e.NewPageIndex;
 BindGrid(); 
 }
 void BindGrid()
 {
 SqlConnection cn=new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=");
 cn.Open();
 SqlDataAdapter da=new SqlDataAdapter("select * from authors",cn);
 DataSet ds=new DataSet();
 da.Fill(ds,"authors");
 DataGrid1.DataSource=ds.Tables["authors"].DefaultView;
 DataGrid1.DataBind();
 cn.Close();
 showstate();
 }
 void showstate()
 {
 SqlConnection cn=new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=");
 cn.Open();
 SqlDataAdapter da=new SqlDataAdapter("select * from authors",cn);
 DataSet ds=new DataSet();
 da.Fill(ds,"authors");
 DataTable dt=ds.Tables["authors"];
 int count=dt.Rows.Count;
 lblallcount.Text=count.ToString();
 lblpagecount.Text=DataGrid1.PageCount.ToString();
 lblcurrentindex.Text=(DataGrid1.CurrentPageIndex+1).ToString();
 }
 void btnClick(object sender,System.EventArgs e)
 {
 string arg=((LinkButton)sender).CommandArgument;
 switch(arg)
 {
 case ("first"):
 DataGrid1.CurrentPageIndex=0;
 break;
 case ("prev"):
 if(DataGrid1.CurrentPageIndex>0)
 DataGrid1.CurrentPageIndex--;
 break;
 case ("next"):
 if(DataGrid1.CurrentPageIndex<(DataGrid1.PageCount-1))
 DataGrid1.CurrentPageIndex++;
 break;
 case ("last"):
 DataGrid1.CurrentPageIndex=DataGrid1.PageCount-1;
 break;
 default:
 DataGrid1.CurrentPageIndex=Convert.ToInt32(arg);
 break;
 }
 BindGrid();
 }

 private void goClick(object sender, System.EventArgs e)
 {
 if(to.Text.Trim()!="")
 {
 int index=Int32.Parse(to.Text.Trim())-1;
 if(index>=0&&index {
 DataGrid1.CurrentPageIndex=index;
 }
 }
 BindGrid();
 }

 }
}

 

好了,现在这个分页的web 程序完成了,你去试试.


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10752019/viewspace-958412/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    3982
  • 访问量
    7895802