欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#分页显示服务器上指定目录下的所有图片示例

程序员文章站 2024-02-12 09:31:37
c#分页显示服务器上指定目录下的所有图片 复制代码 代码如下:<%@ page language="c#" enableviewstate="false" %>...

c#分页显示服务器上指定目录下的所有图片

复制代码 代码如下:

<%@ page language="c#" enableviewstate="false" %>

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en"
 "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<script runat="server">

  string folder = "~/";// 网站根目录下的所有图像
  protected void page_load(object sender, eventargs e)
  {

    //总页数
    int totalpages = 0;
    //每页显示的数量
    int pageitem = 4;
    //当前页号
    int pageindex = convert.toint32(request.querystring["page"]);
    if (pageindex == 0) pageindex = 1;

    system.io.directoryinfo d = new system.io.directoryinfo(server.mappath(folder));
    system.io.fileinfo[] fs = d.getfiles("*.*").where(file => file.name.tolower().endswith(".jpg") || file.name.tolower().endswith(".gif") || file.name.tolower().endswith(".bmp") || file.name.tolower().endswith(".png")).toarray();

    if (fs.length % pageitem == 0) totalpages = fs.length / pageitem;
    else
    {
      totalpages = (int)math.ceiling((decimal)fs.length / (decimal)pageitem);
    }
    if (pageindex > totalpages) pageindex = totalpages;

    system.io.fileinfo[] fs2 = new system.io.fileinfo[pageitem];
    int leftcount = pageitem;
    if (fs.length - ((pageindex - 1) * pageitem) < pageitem)
    {
      leftcount = fs.length - (pageindex - 1) * pageitem;
    }
    array.copy(fs, (pageindex - 1) * pageitem, fs2, 0, leftcount);
    datalist1.datasource = fs2;
    datalist1.databind();
    prepage.navigateurl = request.filepath + "?page=" + (pageindex - 1);
    nextpage.navigateurl = request.filepath + "?page=" + (pageindex + 1);
    label1.text = fs.length + "张图片 共" + totalpages + "页 第" + pageindex + "页";
  }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
  <form runat="server">
  <asp:datalist id="datalist1" runat="server" repeatcolumns="2" border="1">
    <itemtemplate>
      <img src='<%#page.resolveurl(folder + eval("name"))%>' width="200" height="200" />
    </itemtemplate>
    <alternatingitemtemplate>
      <img src='<%#page.resolveurl(folder + eval("name"))%>' width="200" height="200" />
    </alternatingitemtemplate>
  </asp:datalist>
  <asp:hyperlink id="prepage" runat="server">上一页</asp:hyperlink>
  <asp:hyperlink id="nextpage" runat="server">下一页</asp:hyperlink>
  <asp:label id="label1" runat="server" text=""></asp:label>
  </form>
</body>
</html>