快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

一个.net分页测试源码

 
一个.net分页测试源码

作者:淘特网

出处:淘特网

注:转载请注明出处

 <% @ Page Language=\"C#\" %>
<% @ Import Namespace=\"System.Data\" %>
<% @ Import Namespace=\"System.Data.SqlClient\" %>
<Script Language=\"C#\" Runat=\"Server\">
SqlConnection MyConn;
int PageSize,RecordCount,PageCount,CurrentPage;
public void Page_Load(Object src,EventArgs e)
{
 //设定PageSize
 PageSize = 5;
 
 //连接语句
 string MyConnString = \"server=127.0.0.1;database=example;uid=sa;pwd=1234567\";
 MyConn = new SqlConnection(MyConnString);
 MyConn.Open();

 //第一次哀求执行
 if(!Page.IsPostBack)
 {
  ListBind();
  CurrentPage = 0;
  ViewState[\"PageIndex\"] = 0;

  //计算总共有多少记录
  RecordCount = CalculateRecord();
  lblRecordCount.Text = RecordCount.ToString();

  //计算总共有多少页
  PageCount = RecordCount/PageSize;
  lblPageCount.Text = PageCount.ToString();
  ViewState[\"PageCount\"] = PageCount;
 }
}
//计算总共有多少条记录
public int CalculateRecord()
{
 int intCount;
 string strCount = \"select count(*) as co from TABLE1\";
 SqlCommand MyComm = new SqlCommand(strCount,MyConn);
 SqlDataReader dr = MyComm.ExecuteReader();
 if(dr.Read())
 {
  //intCount = Int32.Parse(dr[\"co\"].ToString());
  intCount=(int)dr[\"co\"];
 }
 else
 {
  intCount = 0;
 }
 dr.Close();
 return intCount;
}

ICollection CreateSource()
{
 
 int StartIndex;
 
 //设定导入的起终地址
 StartIndex = CurrentPage*PageSize;
 string strSel = \"select * from TABLE1\";
 DataSet ds = new DataSet();

 SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,MyConn);
 MyAdapter.Fill(ds,StartIndex,PageSize,\"Score\");
 
 return ds.Tables[\"Score\"].DefaultView;
}
public void ListBind()
{
 score.DataSource = CreateSource();
 score.DataBind();
 
 lbnNextPage.Enabled = true;
 lbnPrevPage.Enabled = true;
 if(CurrentPage==(PageCount-1)) lbnNextPage.Enabled = false;
 if(CurrentPage==0) lbnPrevPage.Enabled = false;
 lblCurrentPage.Text = (CurrentPage+1).ToString();

}

public void Page_OnClick(Object sender,CommandEventArgs e)
{
 CurrentPage = (int)ViewState[\"PageIndex\"];
 PageCount = (int)ViewState[\"PageCount\"];

 string cmd = e.CommandName;
 //判定cmd,以判断翻页方向
 switch(cmd)
 {
  case \"next\":
   if(CurrentPage<(PageCount-1)) CurrentPage++;
   break;
  case \"prev\":
   if(CurrentPage>0) CurrentPage--;
   break;
 }

 ViewState[\"PageIndex\"] = CurrentPage;

 ListBind();
 
}
</script>
<html>
<head>
<title></title>
</head>
<body>
<form runat =\"server\">
共有<asp:Label id=\"lblRecordCount\" ForeColor=\"red\" runat =\"server\" />条记录&nbsp; 
当前为<asp:Label id=\"lblCurrentPage\" ForeColor=\"red\" runat =\"server\" />/<asp:Label id=\"lblPageCount\" ForeColor=\"red\" runat =\"server\" />页&nbsp;

<asp:DataList id=\"score\" runat =\"server\"
HeaderStyle-BackColor=\"#aaaadd\"
AlternatingItemStyle-BackColor=\"Gainsboro\"
EditItemStyle-BackColor=\"yellow\"
>
 <ItemTemplate>
  姓名:<%# DataBinder.Eval(Container.DataItem,\"title\") %>
  <asp:LinkButton id=\"btnSelect\" Text=\"编辑\" CommandName=\"edit\" runat =\"server\" />
 </ItemTemplate>
</asp:DataList>
共<%=PageCount%>页
<asp:LinkButton id=\"lbnPrevPage\" Text=\"上一页\" CommandName=\"prev\" OnCommand=\"Page_OnClick\" runat =\"server\" />
<asp:LinkButton id=\"lbnNextPage\" Text=\"下一页\" CommandName=\"next\" OnCommand=\"Page_OnClick\" runat =\"server\" />

</form>
</body>
</html>






返回类别: 教程
上一教程: 拷贝整个目录下所有子目录及文件的方式
下一教程: 从beta2转移到rtm的差别列表

您可以阅读与"一个.net分页测试源码"相关的教程:
· asp.net中的vb7中如何使用socket作一个传送时间的server
· 精品赏析:一个.NET程序在编译和运行时都做了些什么?
· 用ASP.NET建立一个在线RSS新闻聚合器
· 一个用c#写的扫描asp源码漏洞的应用程序(续)
· 利用ASP.NET实现分页治理器
    微笑服务 优质保证 索取样品