我正在编写两个函数:gridview文件的下载和删除功能 所以基本上每当点击下载按钮时,它都会检查字段Games_RulesBooklet的文件名,然后下载名称位于“〜/ AppData / RulesData /”里面的文件。我成功地操纵了附加功能。但我似乎无法下载我附加到RulesData
的特定文件每当我尝试下载时,都会弹出错误:
errors 这些行在cs文件中:
protected void DownloadFile(object sender, EventArgs e)
{
string filePath = (sender as LinkButton).CommandArgument;
Response.ContentType = ContentType;
Response.AppendHeader("Content-Disposition", "attachment; filename=\"" + Path.GetFileName(filePath)+ "\"");
Response.WriteFile("~/AppData/RulesData" + filePath);
Response.End();
}
protected void DeleteFile(object sender, EventArgs e)
{
string filePath = (sender as LinkButton).CommandArgument;
File.Delete(filePath);
}
这些行在我的aspx文件中:
下载:
<asp:LinkButton ID="lnkDownload" CommandArgument ='<#% Eval("Game_RulesBooklet") %>' Text="Download" runat="server" OnClick ="DownloadFile"></asp:LinkButton>
删除:
<asp:LinkButton ID = "lnkDelete" Text = "Delete" CommandArgument ='<#% Eval("Game_RulesBooklet") %>' runat = "server" OnClick = "DeleteFile" />
答案 0 :(得分:0)
问题似乎在于您编写此响应的路径。 请提供以下格式的路径 Response.WriteFile(&#34;〜\\ AppData \\ RulesData \\&#34; + filePath);
或者您甚至可以使用 Server.MapPath
filepath的值不应为空,请添加检查以避免这种情况。
答案 1 :(得分:0)
通过移动主题标签来修复代码
由此
'<#% Eval("Game_RulesBooklet") %>'
对此
'<%#Eval("Game_RulesBooklet") %>'