用超链下载文件,当物理地址上确实有文件时是没有问题的;但如果文件被删除了,但数据库中仍有记录,点击超链就出错,如何能截获错误,并人为提示用户呢?

解决方案 »

  1.   

    找不到文件错误是多少?似乎是“404 找不到网页”吧?在服务器里面修改一下默认网页就行了,当然web.config配置一下也可以
      

  2.   

    只需要做一个静态页面,然后在web.config配置下就可以<customErrors defaultRedirect="Error.htm"
                        mode="RemoteOnly">
             <error statusCode="404"
                    redirect="404Error.htm"/>
          </customErrors>
      

  3.   

    作了个ERROR.htm
    用了<customErrors defaultRedirect="Error.htm"
                        mode="RemoteOnly">
             <error statusCode="404"
                    redirect="404Error.htm"/>
          </customErrors>
    但显示的还是”该页无法显示“
      

  4.   

    估计你是用文件流的形势给人家下载的.所以就这样.换用HTTP下载
      

  5.   

    没有 用
    FileInfo File = new FileInfo(Path);
    Response.Clear();
    Response.ClearHeaders();
    Response.BufferOutput = false;
    Response.ContentType = "application/octet-stream";
    Response.AppendHeader("Content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(name, Encoding.UTF8));
    Response.AddHeader("Content-Length", File.Length.ToString());
    Response.WriteFile(Path);
    Response.Flush();
    Response.End();
    只是在DATAGRID中用超链绑定了物理地址呀!
      

  6.   

    那你先在后台判断一下,文件有没有存在,没有存在就提示出错!if(!File.exist(物理地址))
    链接地址不存在!!
      

  7.   

    指定了404错误,你得做<error statusCode="404" redirect="404Error.htm"/>里面指定的这个页面
      

  8.   

    根本么指定是404ERROR,只是出现空白页
      

  9.   

    而且作了,404ERROR.htm
    添加了<error statusCode="404" redirect="404Error.htm"/>还是老样子。显示该页无法显示