转:用ASP.net 的GridView控件分页显示图片 已调试成功
2010-07-24 08:37
591 查看
用ASP.net 的GridView控件分页显示图片,并历遍给定的(2009-05-07 14:21:34)转载标签:it
在做相册时,有时候由于图片较多,往往需要进行分布显示图片。使用ASP.net分页显示的方法有很多种,本人喜欢使用GridView控件,因为GridView控件本身具有强大的分页功能,无需太多的编程,使用起来非常方便,下面是本网站中组织图库时使用到的自做的自定义控件,贴出来供大家参考。其方法是:
(1)在GridView控件中进行分页设置,主要有以下几项设置:
运行时不让数据源自动生成列;
AllowPaging="True" 打开自动分布功能;
PageSize="2" 每页显示2行,我这里是每页显示2张图片;
PagerSettings FirstPageText="第一页"
LastPageText="最后页"
Mode="NextPreviousFirstLast" 显示的模式,自定义
NextPageText="下一页"
Position="TopAndBottom" 分页选择在控件上部和下部均显示;
PreviousPageText="上一页"
onpageindexchanging="GridView1_PageIndexChanging" 当选择上页、下页等换页时激发它
(2)在GridView控件中添加TemplateField模板,在TemplateField模板中添加〈ima〉,用以显示图片
(3)在后台定然字符数组,用于存入历遍给定的文件夹下的文件
(4)使用foreach循环将文件目录及图片文件名赋予数据源,并绑定到GridView控件
(5)告诉GridView1_PageIndexChanging事件,需要干什么事儿。
以下是前台源代码:
〈%@ Page Language="C#" CodeFile="Default4.aspx.cs" Inherits="Default4" %>
〈!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
〈html xmlns="http://www.w3.org/1999/xhtml">
〈head runat="server">
〈title>无标题页〈/title>
〈/head>
〈body>
〈form id="form1" runat="server">
〈label for="pagebody1" style="display: none">〈/label>
〈fieldset id="container">
〈legend>不分页显示图片〈/legend>
〈div style="list-style: none;">
〈ul style="width: 808px; margin: 0px">
〈li style="margin-left: 10px">
〈asp:GridView ID="GridView1" runat="server"
AllowPaging="True" PageSize="2" Width="800px" CellPadding="3"
CellSpacing="1" GridLines="None" onpageindexchanging="GridView1_PageIndexChanging">
〈PagerSettings FirstPageText="第一页" LastPageText="最后页" Mode="NextPreviousFirstLast"
NextPageText="下一页" Position="TopAndBottom" PreviousPageText="上一页" />
〈Columns>
〈asp:TemplateField HeaderText="独上高楼网图库">
〈ItemTemplate>
〈img alt="" src='〈%# DataBinder.(Container, "DataItem.filePath", "{0}") %>' />
〈/ItemTemplate>
〈/asp:TemplateField>
〈/Columns>
〈/asp:GridView>
〈/li>
〈/ul>
〈/div>
〈/fieldset>
〈/form>
〈/body>
〈/html>
后台源代码:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;
using System.Net;
using System.Text.RegularExpressions;
public partial class Default4 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.BindToGridView(); //调用上面的BindToGridView()绑定
}
}
protected void BindToGridView()
{
//获取文件名称
//string[] files = Directory.GetFiles(Server.MapPath(imagepath));
string[] files = Directory.GetFiles(Server.MapPath("images/"));
//建立数据表
DataTable dt = new DataTable();
//dt.Columns.Add("filename");
//dt.Columns.Add("size");
dt.Columns.Add("filePath");
foreach (string s in files)
{
DataRow dr = dt.NewRow();
FileInfo f = new FileInfo(s);
//dr["filename"] = f.Name;
//dr["size"] = f.Length;
//dr["filePath"] = imagepath + "/" + f.Name;
dr["filePath"] = "/images/" + f.Name;
dt.Rows.Add(dr);
}
//绑定显示
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.GridView1.PageIndex = e.NewPageIndex;
this.BindToGridView(); //调用上面的BindToGridView()绑定
}
}
在做相册时,有时候由于图片较多,往往需要进行分布显示图片。使用ASP.net分页显示的方法有很多种,本人喜欢使用GridView控件,因为GridView控件本身具有强大的分页功能,无需太多的编程,使用起来非常方便,下面是本网站中组织图库时使用到的自做的自定义控件,贴出来供大家参考。其方法是:
(1)在GridView控件中进行分页设置,主要有以下几项设置:
运行时不让数据源自动生成列;
AllowPaging="True" 打开自动分布功能;
PageSize="2" 每页显示2行,我这里是每页显示2张图片;
PagerSettings FirstPageText="第一页"
LastPageText="最后页"
Mode="NextPreviousFirstLast" 显示的模式,自定义
NextPageText="下一页"
Position="TopAndBottom" 分页选择在控件上部和下部均显示;
PreviousPageText="上一页"
onpageindexchanging="GridView1_PageIndexChanging" 当选择上页、下页等换页时激发它
(2)在GridView控件中添加TemplateField模板,在TemplateField模板中添加〈ima〉,用以显示图片
(3)在后台定然字符数组,用于存入历遍给定的文件夹下的文件
(4)使用foreach循环将文件目录及图片文件名赋予数据源,并绑定到GridView控件
(5)告诉GridView1_PageIndexChanging事件,需要干什么事儿。
以下是前台源代码:
〈%@ Page Language="C#" CodeFile="Default4.aspx.cs" Inherits="Default4" %>
〈!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
〈html xmlns="http://www.w3.org/1999/xhtml">
〈head runat="server">
〈title>无标题页〈/title>
〈/head>
〈body>
〈form id="form1" runat="server">
〈label for="pagebody1" style="display: none">〈/label>
〈fieldset id="container">
〈legend>不分页显示图片〈/legend>
〈div style="list-style: none;">
〈ul style="width: 808px; margin: 0px">
〈li style="margin-left: 10px">
〈asp:GridView ID="GridView1" runat="server"
AllowPaging="True" PageSize="2" Width="800px" CellPadding="3"
CellSpacing="1" GridLines="None" onpageindexchanging="GridView1_PageIndexChanging">
〈PagerSettings FirstPageText="第一页" LastPageText="最后页" Mode="NextPreviousFirstLast"
NextPageText="下一页" Position="TopAndBottom" PreviousPageText="上一页" />
〈Columns>
〈asp:TemplateField HeaderText="独上高楼网图库">
〈ItemTemplate>
〈img alt="" src='〈%# DataBinder.(Container, "DataItem.filePath", "{0}") %>' />
〈/ItemTemplate>
〈/asp:TemplateField>
〈/Columns>
〈/asp:GridView>
〈/li>
〈/ul>
〈/div>
〈/fieldset>
〈/form>
〈/body>
〈/html>
后台源代码:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;
using System.Net;
using System.Text.RegularExpressions;
public partial class Default4 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.BindToGridView(); //调用上面的BindToGridView()绑定
}
}
protected void BindToGridView()
{
//获取文件名称
//string[] files = Directory.GetFiles(Server.MapPath(imagepath));
string[] files = Directory.GetFiles(Server.MapPath("images/"));
//建立数据表
DataTable dt = new DataTable();
//dt.Columns.Add("filename");
//dt.Columns.Add("size");
dt.Columns.Add("filePath");
foreach (string s in files)
{
DataRow dr = dt.NewRow();
FileInfo f = new FileInfo(s);
//dr["filename"] = f.Name;
//dr["size"] = f.Length;
//dr["filePath"] = imagepath + "/" + f.Name;
dr["filePath"] = "/images/" + f.Name;
dt.Rows.Add(dr);
}
//绑定显示
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.GridView1.PageIndex = e.NewPageIndex;
this.BindToGridView(); //调用上面的BindToGridView()绑定
}
}
相关文章推荐
- 用ASP.net 的GridView控件分页显示图片,并历遍给定的文件夹中的文件绑定到GridView控
- Asp.net(c#)GridView分页时用图片显示上一页,下一页
- Asp.Net 分页显示控件
- Asp.net中FileUpload控件实现图片上传并带预览显示
- 【ASP.NET】 GridView 显示图片
- ASP.NET gridView 显示图片[转载]
- asp.net使用服务器控件Image/ImageButton显示本地图片
- ASP.NET显示渐变图片--GridView
- ASP.NET控件使用——Gridview设置表头的背景图片
- 在ASP.NET中使用ObjectDataSource数据控件和GridView显示数据(2)
- asp.net中使用分页控件,并绑定数据到GridView或Repeater
- Asp.Net 分页显示控件
- Asp.net不拖GridView控件,用Table实现其分页和删除
- 将本地txt文件当作ASP.net数据源,并用gridview分页显示。
- Asp.Net 分页显示控件
- ASP.NET GridView动态显示隐藏列,并保存客户的配置(用户控件Cookie版)
- ASP.NET技巧:GridView控件自定义分页详解第一页
- asp.net 给图片加水印--源码--调试成功
- 常量,字段,构造方法 调试 ms 源代码 一个C#二维码图片识别的Demo 近期ASP.NET问题汇总及对应的解决办法 c# chart控件柱状图,改变柱子宽度 使用C#创建Windows服务 C#服务端判断客户端socket是否已断开的方法 线程 线程池 Task .NET 单元测试的利剑——模拟框架Moq
- 在asp.net中使gridview控件内数据居中显示