2010-08-26 64 views
0

嗨,這是當前版本......請大家幫忙。下載問題asp.net

「>

使用系統;使用System.Collections的 ; using System.Configuration; using System.Data;使用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;使用System.IO的 ;

公共部分類缺省2:System.Web.UI.Page { 私人無效BindGrid() { DirectoryInfo的DIR =新的DirectoryInfo(「d:/ Pilabs項目/ GlobeDse/globedse網站/ globedse.com /上傳「); FileInfo [] files = dir.GetFiles(); GridView1.DataSource = files; 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(); 


} 

}

+0

您是否檢查過輸入下載代碼?如果你不這樣做,它可能是你的'CommendName' – 2010-08-26 08:08:52

回答

0

首先,檢查你的方法是Downloadfile得到擊中。你也沒有

Response.Write(FullPath); 

這有點遺憾你的輸出。我寧願將其設計爲重定向到輸出下載的另一個頁面。

0

您錯過了對回傳的檢查。您的Page_Load應該看起來像這樣:

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

當您重新綁定網格時,事件會丟失。

+0

對不起,但它仍然被重定向到相同的頁面...........沒有下載選項..... – sayket 2010-08-26 10:12:34

+0

你可以更新你的樣品顯示當前版本的代碼?並且在你使用ASPX頁面的時候也要包含它。 :) – 2010-08-26 10:24:37

+0

嘿,我已經編輯了我的當前版本的問題,,,,請檢查, – sayket 2010-09-02 09:21:13