方法1:不要放<a href></a>,放一Button,在Button 的click事件中写:
------------------------------------------------
FileInfo fi=new FileInfo(@"c:\myfile1\downloadfolder1\foder2\file1.zip");
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(fi.FullName,System.Text.Encoding.UTF8));
Response.AppendHeader("Content-Length",fi.Length.ToString());
Response.WriteFile(fi.FullName);
Response.Flush();
Response.End();

解决方案 »

  1.   

    高人终于来了,谢谢。
    但有一个问题想问,File_StorePath是一个数据库中的一个字段,它的数据都绑定在datagrid中,我希望每一次动态地从相应的记录中选择出相应的路径值出来下载,也就是说,对一个变量的路径值应该如何实现下载(不知我说清楚了没有),谢谢!!!
      

  2.   

    还是没有解决, 我用的是VB。采用csdn_bob(文子)老兄的方法1,还没有试成功,急急。。 原问题是这样的: 
      
    在一个datagrid控件中,我想实现文件的下载,其中File_StorePath为文件在数据库中的存储的文件路径,(如“c:\myfile1\downloadfolder1\foder2\file_i.zip”这样的绝对路径的格式在库中存储),在本机上下载文件,一切都OK,但是一到客户端下载时,由于是绝对路径,而无法找到服务器,有什么好的办法吗????急用,请各位高人多指点谢谢了!!代码如下:<asp:TemplateColumn HeaderText="下载"> <ItemStyle HorizontalAlign="Center"></ItemStyle> <ItemTemplate>
    <a id="Download" href="<%# DataBinder.Eval(Container.DataItem, "File_StorePath") %>">下载</a>
    </ItemTemplate>
    </asp:TemplateColumn>在次请教???在线等待。。
      

  3.   

    <!--<a id="Download" href="http://192.100.100.228/ & <%# left&(<%# DataBinder.Eval(Container.DataItem, "Exe_StorePath") %>,len(<%# DataBinder.Eval(Container.DataItem, "Exe_StorePath") %>)-3)%>">下载</a>-->
    <asp:HyperLinkColumn DataNavigateUrlField="Exe_StorePath" DataNavigateUrlFormatString="{0}"  Text="下载" HeaderText="下载">
    <HeaderStyle Width="17%" CssClass="head1"></HeaderStyle>
    </asp:HyperLinkColumn>
      

  4.   

    相对路径不安全,客户端可以下载全部的文件,不容易进行权限限制(除非用ISAPI Filter),推荐用csdn_bob(文子)的办法。