protected void GridView3_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "報告")
{
int rowIndex = Convert.ToInt32(e.CommandArgument);
GridViewRow row = GridView3.Rows[rowIndex];
string name = ((Label)(row.Cells[1].Controls[0]).FindControl("Label33")).Text.ToString().Trim();
string time1 = DateTime.Now.ToString("yyyy-MM");
string filename = "課題進展報告\\" + time1 + "-" + name + ".pdf";
string url = Server.MapPath(filename);
string filename = "課題進展報告\\" + time1 + "-" + name + ".pdf";
string url = Server.MapPath(filename);
if (File.Exists(url))
{
FileInfo fileInfo = new FileInfo(Server.MapPath(filename));
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-Disposition", "attachment;filename=\"" + HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8) + "\"");
Response.AddHeader("Content-Length", fileInfo.Length.ToString());
Response.AddHeader("Content-Transfer-Encoding", "binary");
Response.ContentType = "application/octet-stream";
Response.WriteFile(fileInfo.FullName);
Response.Flush();
Response.End();
}
}
}
uj5u.com熱心網友回復:
設斷點能進嗎uj5u.com熱心網友回復:
我之前做過一個類似的,可以讓某一列系結點擊事件uj5u.com熱心網友回復:
前臺呢,如果是模板列,你那個e.CommandName的id是不是不對啊uj5u.com熱心網友回復:
你先寫一個絕對路徑,驗證一下IIS是否允許這個后綴名檔案下載,有時候IIS是不允許的。比如:http://www.**com/1.pdf
如果可以,說明IIS沒問題,再再看你的代碼,基本上就是路徑不對了,路徑不對,要么檔案名要么路徑。
比如你的為什么是反斜杠呢
//獲取檔案路徑
string strFilePath = Server.MapPath("Files//" + ds.Tables["files"].Rows[0][0].ToString());
uj5u.com熱心網友回復:
還有中文檔案夾名稱是否支持?轉載請註明出處,本文鏈接:https://www.uj5u.com/net/43142.html
標籤:ASP.NET
上一篇:網頁右下角視頻彈窗怎么添加
