asp.net,GridView控件在TemplateFile里添加一个Hyperlink控件实现所在行文件的下载?
当选中前面的Checkbox,然后点击后面的下载,实现文档的下载。数据库为TBtest,表为tb_files(fileNum,fileName,department,do...
当选中前面的Checkbox,然后点击后面的下载,实现文档的下载。数据库为TBtest,表为tb_files(fileNum,fileName,department,dossier,path),表里的path就是存的文档的路径,请问怎么实现下载,在百度知道发了好几个问了,但是他们都只说,不贴代码,我看了也不怎么明白,希望有会的大神给点具体的代码,谢谢了。
哦,“文件下载”列里不一定非要Hyperlink,什么Button也可以,看你自己熟悉哪个就用哪个吧,帮帮小弟了。谢了。 展开
哦,“文件下载”列里不一定非要Hyperlink,什么Button也可以,看你自己熟悉哪个就用哪个吧,帮帮小弟了。谢了。 展开
3个回答
展开全部
这样子吧:创建一个空页面download.aspx,用于下载文件所用。然后hyperlink指向这个页面就行了,至于参数,看你自己选择:1:path即下载文件的路径,download页面直接下载该路径对应的文件。2,:id即该条数据的id,然后在download查询数据库获得该文件的filepath,然后下载。
下载文件的代码,我就不贴了,网上很多。如果你实在找不到,可以问我要~~
下载文件的代码,我就不贴了,网上很多。如果你实在找不到,可以问我要~~
追问
我就是想要代码啊,所有人都是用说的,这个真搞不来。
追答
为了方便绑定数据,定义了一个Files类:
public class Files
{
public Files(int id, string path) {
this.id = id;
this.path = path;
}
public int id { get; set; }
public string path { get; set; }
}
简单的GridView:
<asp:GridView ID="gvNews" runat="server">
<Columns>
<asp:BoundField HeaderText="ID" DataField="id" ItemStyle-HorizontalAlign="Center" />
<asp:TemplateField HeaderText="下载" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<a target="_blank" href="DownLoad.aspx?path=<%#Eval("path") %>">下载</a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
然后后台给GridView绑定数据
protected readonly string path = "File/test.txt";
Page_Load里绑定数据:
List<Files> list = new List<Files>();
Files file = new Files(1,path);
list.Add(file);
gvNews.DataSource = list;
gvNews.DataBind();
展开全部
在iis中要把欲下载的文件格设置为可下载,否则就会直接打开文件,或者显示无权访问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Hyperlink绑定的N..Url的值是{0:path}\{1:fileName}.
意思是绑定的是跳转链接,值是目录名+文件名就可以了。当然目录要在程序所在目录的子目录,
否则要加上http://xxxx.xx.com/project/。
意思是绑定的是跳转链接,值是目录名+文件名就可以了。当然目录要在程序所在目录的子目录,
否则要加上http://xxxx.xx.com/project/。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询