Rumah pembangunan bahagian belakang Tutorial C#.Net .NET用repeater实现分页效果的代码详解

.NET用repeater实现分页效果的代码详解

May 13, 2017 am 11:31 AM
.net repeater penomboran

Repeater控件是一个数据绑定容器控件,它能够生成各个项的列表,并可以使用模板定义网页上各个项的布局。本文对此进行详细介绍,下面跟着小编一起来看下吧

Repeater控件是一个数据绑定容器控件,它能够生成各个项的列表,并可以使用模板定义网页上各个项的布局。当该页运行时,该控件为数据源中的每个项重复此布局。

配合模板使用repeater控件

若要使用repeater控件,需创建定义控件内容布局的模板。模板可以包含标记和控件的任意组合。如果未定义模板,或者模板都不包含元素,则当应用程序运行时,该控件不显示在页面上。

ItemTemplate : 含要为数据源中每个数据项都要呈现一次的 HTML 元素和控件。 

AlternatingItemTemplate : 对交替数据项进行格式设置(包含要为数据源中每个数据项都要呈现一次的 HTML 元素和控件。通常,可以使用此模板为交替项创建不同的外观,例如指定一种与在ItemTemplate中指定的颜色不同的背景色)。

SeparatorTemplate : 对分隔符进行格式设置(包含在每项之间呈现的元素。)。

HeaderTemplate : 对页眉进行格式设置(包含在列表的开始处分别呈现的文本和控件。)。

FooterTemplate : 对页脚进行格式设置(包含在列表的结束处分别呈现的文本和控件。)。     

Repeater分页效果如下:

前台代码:


<body>
 <asp:Repeater ID="Repeater1" runat="server">
  <HeaderTemplate>
  <p style="background-color:#988c6e;width:400px;padding-top:5px;padding-bottom:5px;margin-left:30px;margin-top:30px;border-radius:5px;color:#fff;font-weight:bold;"><span style="padding-left:30px;">用户名</span><span style="padding-left:100px;">注册时间</span><span style="padding-left:90px;">访问量</span></p>
  <table style="margin-left:30px;margin-top:30px;">
  </HeaderTemplate>
  <ItemTemplate>
  <tr>
   <td style="width:120px;text-align:left; padding-left:20px;"><%#Eval("Username") %></td>
   <td style="width:170px;text-align:left; "><%#Eval("RegistrationTime") %></td>
   <td style="width:50px;text-align:left; "><%#Eval("AccessAmount") %></td>
  </tr>
  <tr>
   <td colspan="3" style="border-bottom:1px inset #C0D9D9;padding-top:7px;"></td>
  </tr>
  </ItemTemplate>
  <FooterTemplate>
  </table>
  </FooterTemplate>
 </asp:Repeater> 
 <p style="margin-left:50px;">
  <p style="margin:0 auto; margin-top:50px;border:1px solid #fff;font-size:16px;font-family:"microsoft yahei","宋体";">
  <a><p style="border:1px solid #000; width:60px; float:left; margin:5px;text-align:center;"><a style="color:#000">共<asp:Label runat ="server" ID="zong"> </asp:Label>页</a></p></a>
  <a><p style="border:1px solid #000; width:60px; float:left;margin:5px;text-align:center;"><a style="color:#000">第<asp:Label runat ="server" ID="dangqian"> </asp:Label>页</a></p></a>
  <a><p style="border:1px solid #000; width:40px; float:left;margin:5px;text-align:center;"> <a style="color:#000"><asp:hyperlink id="first" runat="server" style="color:#000">首页</asp:hyperlink></a></p></a>
  <a><p style="border:1px solid #000; width:60px; float:left;margin:5px;text-align:center;"><a style="color:#000"><asp:hyperlink id="lnkPrev" runat="server" style="color:#000">上一页</asp:hyperlink></a></p></a>
  <a><p style="border:1px solid #000; width:60px; float:left;margin:5px;text-align:center;"><a style="color:#000"><asp:hyperlink id="lnkNext" runat="server" style="color:#000">下一页</asp:hyperlink></a></p></a>
  <a><p style="border:1px solid #000; width:40px; float:left;margin:5px;text-align:center;"> <a style="color:#000"><asp:hyperlink id="end" runat="server" style="color:#000">尾页</asp:hyperlink></a></p></a>
  </p> 
 </p> 
 </body>
Salin selepas log masuk

后台代码:


protected void Page_Load(object sender, EventArgs e)
 {
  if(!Page.IsPostBack)
  {
  getUsers();
  }
 }
 private void getUsers()
 {
  List<Users1> list = new AdminManager().QueryUsers();    
  PagedDataSource pag = new PagedDataSource();
  pag.AllowPaging = true;// 设置允许分页
  pag.PageSize = 10; // 每页显示为3行
  pag.DataSource = list; // 模板绑定数据源 
  zong.Text = pag.PageCount.ToString(); // 显示总共页数
  int CurrentPage;
  // 请求页码为不为null设置当前页,否则为第一页
  if (Request.QueryString["Page"] != null)
  {

  CurrentPage = Convert.ToInt32(Request.QueryString["Page"]);
  }
  else
  {
  CurrentPage = 1;
  }
  if (Request.QueryString["PageSize"] != null)
  {
  pag.PageSize = Convert.ToInt32(Request.QueryString["PageSize"]);
  }
  else
  {
  pag.PageSize = 10;
  }
  pag.CurrentPageIndex = CurrentPage - 1; // 当前页所引为页码-1
  dangqian.Text = CurrentPage.ToString(); // 当前页
  if (!pag.IsFirstPage)
  {
  //  Request.CurrentExecutionFilePath为当前请求虚拟路径
  lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurrentPage - 1);
  } 
  // 如果不是最后一页,通过参数Page设置下一页为当前页+1,否则不显示连接
  if (!pag.IsLastPage)
  {
  // Request.CurrentExecutionFilePath为当前请求虚拟路径
  lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurrentPage + 1);
  }
  //首页
  first.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(1);
  //尾页
  end.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + pag.PageCount.ToString(); 
  if (Convert.ToInt32(HttpContext.Current.Request["page"]) > pag.PageCount)
  {  
  first.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(1);
  }
  this.Repeater1.DataSource = pag;
  this.Repeater1.DataBind();
 }
Salin selepas log masuk

如果不需要进行分页,可执行以下代码:


protected void Page_Load(object sender, EventArgs e)
{
  if(!Page.IsPostBack)
 {
   getUsers();
 }
}
private void getUsers()
{
  List<Users1> list = new AdminManager().QueryUsers(); 
 this.Repeater1.DataSource = list ;
 this.Repeater1.DataBind();
}
Salin selepas log masuk

【相关推荐】

1. 特别推荐“php程序员工具箱”V0.1版本下载

2. ASP免费视频教程

3. 李炎恢ASP基础视频教程

Atas ialah kandungan terperinci .NET用repeater实现分页效果的代码详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pembangunan PHP: Bagaimana untuk melaksanakan pengisihan data jadual dan fungsi halaman Pembangunan PHP: Bagaimana untuk melaksanakan pengisihan data jadual dan fungsi halaman Sep 20, 2023 am 11:28 AM

Pembangunan PHP: Bagaimana untuk melaksanakan fungsi pengisihan data jadual dan halaman Dalam pembangunan web, memproses sejumlah besar data adalah tugas biasa. Untuk jadual yang perlu memaparkan sejumlah besar data, biasanya perlu melaksanakan fungsi pengisihan dan halaman untuk memberikan pengalaman pengguna yang baik dan mengoptimumkan prestasi sistem. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi pengisihan dan halaman data jadual, dan memberikan contoh kod khusus. Fungsi pengisihan melaksanakan fungsi pengisihan dalam jadual, membolehkan pengguna mengisih dalam tertib menaik atau menurun mengikut medan yang berbeza. Berikut ialah borang pelaksanaan

Bagaimana untuk membuat penomboran tersuai dalam CakePHP? Bagaimana untuk membuat penomboran tersuai dalam CakePHP? Jun 04, 2023 am 08:32 AM

CakePHP ialah rangka kerja PHP yang berkuasa yang menyediakan pembangun dengan banyak alat dan ciri berguna. Salah satu daripadanya ialah penomboran, yang membantu kami membahagikan sejumlah besar data kepada beberapa halaman, menjadikan penyemakan imbas dan manipulasi lebih mudah. Secara lalai, CakePHP menyediakan beberapa kaedah penomboran asas, tetapi kadangkala anda mungkin perlu mencipta beberapa kaedah penomboran tersuai. Artikel ini akan menunjukkan kepada anda cara membuat penomboran tersuai dalam CakePHP. Langkah 1: Cipta kelas penomboran tersuai Pertama, kita perlu mencipta kelas penomboran tersuai. ini

Menggunakan JavaScript untuk melaksanakan paparan halaman data jadual Menggunakan JavaScript untuk melaksanakan paparan halaman data jadual Jun 16, 2023 am 10:00 AM

Apabila data terus berkembang, paparan jadual menjadi lebih sukar. Selalunya, jumlah data dalam jadual adalah sangat besar sehingga ia menjadi lambat untuk dimuatkan dan pengguna perlu sentiasa menyemak imbas halaman untuk mencari data yang mereka inginkan. Artikel ini akan memperkenalkan cara menggunakan JavaScript untuk merealisasikan paparan bernombor bagi data jadual, menjadikannya lebih mudah untuk pengguna mencari data yang mereka inginkan. 1. Buat jadual secara dinamik Untuk menjadikan fungsi paging lebih terkawal, jadual perlu dibuat secara dinamik. Dalam halaman HTML, tambahkan elemen jadual yang serupa dengan yang di bawah.

Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi paging jadual? Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi paging jadual? Oct 20, 2023 pm 06:19 PM

Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi paging jadual? Dengan perkembangan Internet, semakin banyak laman web menggunakan jadual untuk memaparkan data. Dalam sesetengah kes di mana jumlah data adalah besar, data perlu dipaparkan dalam halaman untuk meningkatkan pengalaman pengguna. Artikel ini akan memperkenalkan cara menggunakan JavaScript untuk melaksanakan fungsi halaman jadual dan menyediakan contoh kod khusus. 1. Struktur HTML Pertama, kita perlu menyediakan struktur HTML untuk mengehoskan jadual dan butang paging. Kita boleh menggunakan &lt;tab

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET May 06, 2024 pm 04:43 PM

Perkembangan teknologi kecerdasan buatan (AI) sedang giat dijalankan hari ini, dan ia telah menunjukkan potensi dan pengaruh yang besar dalam pelbagai bidang. Hari ini Dayao akan berkongsi dengan anda 4 rangka kerja projek berkaitan LLM model AI sumber terbuka .NET, dengan harapan dapat memberi anda sedikit rujukan. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel ialah kit pembangunan perisian sumber terbuka (SDK) yang direka untuk menyepadukan model bahasa besar (LLM) seperti OpenAI, Azure

Apakah prospek pekerjaan C#? Apakah prospek pekerjaan C#? Oct 19, 2023 am 11:02 AM

Sama ada anda seorang pemula atau profesional yang berpengalaman, menguasai C# akan membuka jalan untuk kerjaya anda.

Penjelasan terperinci tentang prinsip pemalam paging MyBatis Penjelasan terperinci tentang prinsip pemalam paging MyBatis Feb 22, 2024 pm 03:42 PM

MyBatis ialah rangka kerja lapisan kegigihan yang sangat baik yang menyokong operasi pangkalan data berdasarkan XML dan anotasi Ia mudah dan mudah digunakan, dan juga menyediakan mekanisme pemalam yang kaya. Antaranya, pemalam paging adalah salah satu pemalam yang lebih kerap digunakan. Artikel ini akan menyelidiki prinsip pemalam paging MyBatis dan menggambarkannya dengan contoh kod khusus. 1. Prinsip pemalam paging MyBatis sendiri tidak menyediakan fungsi paging asli, tetapi anda boleh menggunakan pemalam untuk melaksanakan pertanyaan paging. Prinsip pemalam paging adalah terutamanya untuk memintas MyBatis

Amalan komponen Vue: pembangunan komponen halaman Amalan komponen Vue: pembangunan komponen halaman Nov 24, 2023 am 08:56 AM

Amalan komponen Vue: Pengenalan kepada pembangunan komponen halaman Dalam aplikasi web, fungsi halaman adalah komponen penting. Komponen paging yang baik hendaklah ringkas dan jelas dalam persembahan, kaya dengan fungsi, dan mudah untuk disepadukan dan digunakan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan rangka kerja Vue.js untuk membangunkan komponen halaman yang sangat boleh disesuaikan. Kami akan menerangkan secara terperinci cara membangunkan menggunakan komponen Vue melalui contoh kod. Teknologi tindanan Vue.js2.xJavaScript (ES6) HTML5 dan persekitaran pembangunan CSS3

See all articles