标签:style blog http java os io 文件 for
1、前台代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DataListPhotos_Page.aspx.cs" Inherits="DataSourceDemo.DataListPhotos_Page" %>
<!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>Photos</title>
<style>
.ShowPage-font
{ font-size:12px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="DataList1" runat="server" CellPadding="4" CellSpacing="2"
GridLines="Both" RepeatColumns="3" RepeatDirection="Horizontal">
<ItemTemplate>
<div>
<a href=‘<%#"Photos/"+Eval("Name") %>‘ target="_blank" /><%--能够点击图片查看--%>
<asp:Image ID="Image1" runat="server" width="160" Height="98" ImageUrl=‘<%#"Photos/"+Eval("Name") %>‘ />
</div>
</ItemTemplate>
</asp:DataList>
<div class="ShowPage-font" >
<asp:Label ID="lblPageCount" runat="server"></asp:Label>
第<asp:Label ID="lblCount" runat="server"></asp:Label>页
<asp:LinkButton ID="lbtnPreview" runat="server" Text="上一页" OnClick="lbtnPreview_Click" Font-Size="Small" ></asp:LinkButton>
<asp:LinkButton ID="lbtnNext" runat="server" Text="下一页" OnClick="lbtnNext_Click" Font-Size="Small" ></asp:LinkButton>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="btnUploadFile" runat="server" Text="确定上传" Height="21px" onclick="btnUploadFile_Click" />
</div>
</div>
</form>
</body>
</html>
2、后台代码
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;
namespace DataSourceDemo
{
public partial class DataListPhotos_Page : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
lblCount.Text = "1";
BindPhotos();
}
}
private void BindPhotos()
{
string ImagePath = Server.MapPath("~/Photos/");//图片路径
DirectoryInfo ImageFile = new DirectoryInfo(ImagePath);
FileInfo[] FileArray = ImageFile.GetFiles("*.jpg"); //得到目录下的所有jpg图片
DataTable dtPhoto = new DataTable("Album");
DataColumn colSmall = new DataColumn("Name");
DataColumn colNormal = new DataColumn("Photo");
dtPhoto.Columns.Add(colSmall);
dtPhoto.Columns.Add(colNormal);
for (int i = 0; i < (FileArray.Length); i++)//将图片存入table中
{
DataRow Row = dtPhoto.NewRow();
Row["Name"] = FileArray[i].Name;
Row["Photo"] = "./Photos/" + FileArray[i].Name;
dtPhoto.Rows.Add(Row);
}
//分页
PagedDataSource Source = new PagedDataSource();
Source.AllowPaging = true;
Source.DataSource = dtPhoto.DefaultView;
Source.PageSize = 9;
int CurrentPage = Convert.ToInt32(lblCount.Text);
Source.CurrentPageIndex = CurrentPage - 1;
lbtnPreview.Enabled = true;
lbtnNext.Enabled = true;
if (CurrentPage == 1)
{
lbtnPreview.Enabled = false;
}
if (CurrentPage == Source.PageCount)
{
lbtnNext.Enabled = false;
}
lblPageCount.Text = "共" + Source.PageCount + "页/";
DataList1.DataSource = Source;
DataList1.DataBind();
}
protected void lbtnNext_Click(object sender, EventArgs e)//下一页
{
lblCount.Text = Convert.ToString(Convert.ToInt32(lblCount.Text) + 1);
BindPhotos();
}
protected void lbtnPreview_Click(object sender, EventArgs e)//上一页
{
lblCount.Text = Convert.ToString(Convert.ToInt32(lblCount.Text) - 1);
BindPhotos();
}
protected void btnUploadFile_Click(object sender, EventArgs e)//图片上传
{
string FilePath = Server.MapPath("~/Photos/");
HttpFileCollection UploadFile = Request.Files;
if (FileUpload1.HasFile)//表示控件是否包含文件
{
for (int i = 0; i < UploadFile.Count; i++)
{
HttpPostedFile postFile = UploadFile[i];
try
{
if (postFile.ContentLength > 0)
{
string FileName = postFile.FileName;
string SingleName = FileName.Substring(FileName.LastIndexOf(@"\") + 1);
postFile.SaveAs(FilePath + SingleName);
}
}
catch (Exception ex)
{
Assistant.AlertMessage(ex.Message, this);//Assistant是自定义的类,用于弹出窗口信息
}
}
Response.Redirect("~/DataListPhotos_Page.aspx");
}
else
{
Assistant.AlertMessage("请输入要上传的文件", this);
}
}
}
}
3、Assistant类
public class Assistant
{
public static void AlertMessage(string msg, Page page)
{
page.ClientScript.RegisterStartupScript(page.GetType(), "", "<script language=‘javascript‘>alert(‘" + msg + "‘);</script>");
}
}
4、效果预览
DataList做一个相册,并可以上传图片,布布扣,bubuko.com
标签:style blog http java os io 文件 for
原文地址:http://www.cnblogs.com/ElvisZhongShao/p/3926690.html