繁体   English   中英

下载问题asp.net

[英]download problem asp.net

嗨,这是当前版本……请帮助。

'>

使用系统; 使用System.Collections; 使用System.Configuration; 使用System.Data; 使用System.Linq; 使用System.Web; 使用System.Web.Security; 使用System.Web.UI; 使用System.Web.UI.HtmlControls; 使用System.Web.UI.WebControls; 使用System.Web.UI.WebControls.WebParts; 使用System.Xml.Linq; 使用System.IO;

公共局部类Default2:System.Web.UI.Page {私有void BindGrid(){DirectoryInfo dir = new DirectoryInfo(“ D:/ Pilabs Projects / GlobeDse / globedse website / globedse.com / Uploads”); FileInfo [] files = dir.GetFiles(); GridView1.DataSource =文件; GridView1.DataBind();

}

protected void Page_Load(object sender, EventArgs e)
{


    if (!Page.IsPostBack)
    {
         BindGrid();
    }




}

private void Downloadfile(String fileName, String FullFilePath)
{

    Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
    Response.TransmitFile(FullFilePath);
    Response.End();


}

protected void GridView1_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e)
{
    if (e.CommandName == "Download")
    {
        String[] fileInfo = e.CommandArgument.ToString().Split(';');
        String FileName = fileInfo[1].ToString();
        String FullPath = fileInfo[0].ToString();
        Downloadfile(FileName, FullPath);
    }

}


protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{

    GridView1.PageIndex = e.NewPageIndex
    BindGrid();


}

}

首先,检查您的方法Downloadfile是否被命中。 你也做了

Response.Write(FullPath);

这有点破坏您的输出。 我宁愿设计它重定向到另一个输出下载的页面。

您缺少支票回发。 您的Page_Load应该看起来像这样:

protected void Page_Load(object sender, EventArgs e) 
{ 
  if (!Page.IsPostBack)
  {
    BindGrid();
  }
}

重新绑定网格时,事件将丢失。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM