特色栏目

ASP源码

PHP源码

.NET源码

JSP源码

游戏频道
专题合集
关闭菜单
首页> ASP.NET教程> Asp.net url分页的用户控件

Asp.net url分页的用户控件

时间:2009-06-30 15:38:32 作者:互联网

出处:snooker_li的专栏

最近做一个相册程序频繁的需要分页,所以就想写一个用户控件出来。

代码如下:

Au***age.ascx页面

<%@ Control Language="c#" AutoEventWireup="false" Codebehind="Au***age.ascx.cs" Inherits="al***.AutoPage" TargetSchema="http://sc***s.microsoft.com/intellisense/ie5">http://sc***s.microsoft.com/intellisense/ie5" %>


 
 
 
 
 
 
 
 
 
 
 
条记录 首页 上页 当前页/共页 下页 末页     BorderColor="Silver">

Au***age.ascx.cs页面

namespace album
{
 using System;
 using Sy***m.Data;
 using Sy***m.Drawing;
 using Sy***m.Web;
 using Sy***m.Web.UI.WebControls;
 using Sy***m.Web.UI.HtmlControls;
 using Sy***m.Data.SqlClient;

 ///


 ///  UC 的摘要说明。
 ///

 public class AutoPage : Sy***m.Web.UI.UserControl
 {
  protected Sy***m.Web.UI.WebControls.HyperLink hpl_First;
  protected Sy***m.Web.UI.WebControls.HyperLink hpl_Prev;
  protected Sy***m.Web.UI.WebControls.HyperLink hpl_Next;
  protected Sy***m.Web.UI.WebControls.Label lb_CurrentPage;
  protected Sy***m.Web.UI.WebControls.Label lb_PageCount;
  protected Sy***m.Web.UI.WebControls.HyperLink hpl_Last;
  public int pagesize;
  public string PageP;
  protected Sy***m.Web.UI.WebControls.TextBox txb_Page;
  protected Sy***m.Web.UI.WebControls.Label lb_url;
  protected Sy***m.Web.UI.WebControls.Label lb_ItemCount;
  public string url;
  protected Sy***m.Web.UI.WebControls.Label lb_Params;
  protected Sy***m.Web.UI.WebControls.ImageButton btn_go;
  public string Params;

  private void Page_Load(object sender, Sy***m.EventArgs e)
  {
  
  }

  public PagedDataSource databind(DataTable dt)
  {
   lb***l.Text = url;
   lb***rams.Text = Params;
   //创建分页类
   PagedDataSource objPage = new PagedDataSource();
   //设置数据源
   ob***ge.DataSource = dt***faultView;
   //允许分页
   ob***ge.AllowPaging = true;
   //设置每页显示的项数
   ob***ge.PageSize = pagesize;
   //设置当前页的索引
   int CurPage=1;
   try
   {
    CurPage = Co***rt.ToInt32(PageP);
    if (CurPage<1 || CurPage>ob***ge.PageCount)
    {
     Re***nse.Redirect(url+"?page=1"+Params);
    }
   }
   catch
   {
    Re***nse.Redirect(url+"?page=1"+Params);
   }
   ob***ge.CurrentPageIndex = CurPage-1;
   //显示状态信息
   lb***emCount.Text = dt***ws.Count.ToString();
   lb***rrentPage.Text = Cu***ge.ToString();
   lb***geCount.Text =ob***ge.PageCount.ToString();
    
   //如果当前页面不是首页
   if (!ob***ge.IsFirstPage)
   {
    hp***rev.NavigateUrl=url + "?Page=" + Co***rt.ToString(CurPage-1)+Params;
    hp***irst.NavigateUrl=url + "?Page=1"+Params;
   }
   //如果当前页面不是最后一页
   if (!ob***ge.IsLastPage)
   {
    hp***ext.NavigateUrl=url+ "?Page=" + Co***rt.ToString(CurPage+1)+Params;
    hp***ast.NavigateUrl=url + "?Page=" +ob***ge.PageCount.ToString()+Params;
   }
   return objPage;
  }


  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   ba***OnInit(e);
  }
 
  ///


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

  private void InitializeComponent()
  {
   th***btn_go.Click += new Sy***m.Web.UI.ImageClickEventHandler(th***btn_go_Click);
   th***Load += new Sy***m.EventHandler(th***Page_Load);

  }
  #endregion

  private void btn_go_Click(object sender, Sy***m.Web.UI.ImageClickEventArgs e)
  {
   Re***nse.Redirect(lb***l.Text+"?Page="+tx***age.Text+lb***rams.Text);
  }

 
 }
}

调用的时候需要设置几个参数pagesize(每页显示数据个数),PageP(传递的分页参数),ParmP(其他的Re***st.QureyString参数),url(页面地址)

绑定的时候只需要把控件的Da***ource=AutoPage1.databind(DataTable变量)

相关文章 最新文章

相关应用

热门文章

猜你喜欢

返回顶部