using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class download : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string[] filePaths = System.IO.Directory.GetFiles(Server.MapPath("~/downloads/")); DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add("文件"); foreach (string filePath in filePaths) { //files.Add(new ListItem(Path.GetFileName(filePath), filePath)); dr = dt.NewRow(); dr["文件"] = Path.GetFileName(filePath).ToString(); dt.Rows.Add(dr); } GridView1.DataSource = dt; GridView1.DataBind(); } } protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { GridViewRow gr = GridView1.SelectedRow; string filePath = Server.MapPath("~/downloads/" + gr.Cells[1].Text); Response.ContentType = ContentType; Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(filePath)); Response.WriteFile(filePath); Response.End(); } }