日期:2014-05-18  浏览次数:20451 次

在ASPXGRIDVIEW中,怎么样做下载文件的功能
我现在能把数据库里的记录都一条条的检查出来了,上传文件后是放在~\file\book\这个文件夹下面,那我在gridview中放置了aspxhyperlink按钮,我怎么设置它让他下载文件,我自己写的代码是这样的:<dxe:ASPxHyperLink ID="ASPxHyperLink1" runat="server" Text="下载" NavigateUrl=<%# "javascript:location.href=\'~\\file\\book\\"+Eval("sm").ToString()+""+Eval("execname").ToString()+"\';"%>></dxe:ASPxHyperLink>
这是以上代码运行后我看到IE状态栏的地址都是正确的,但是一点就出错了,出错信息为这样:


“/zjwltsg”应用程序中的服务器错误。
--------------------------------------------

路径中具有非法字符。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.ArgumentException: 路径中具有非法字符

源错误: 

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  

堆栈跟踪: 


[ArgumentException: 路径中具有非法字符。]
  System.IO.Path.CheckInvalidPathChars(String path) +2876062
  System.IO.Path.Combine(String path1, String path2) +37
  System.Web.Configuration.UserMapPath.GetPhysicalPathForPath(String path, VirtualDirectoryMapping mapping) +147
  System.Web.Configuration.UserMapPath.GetPathConfigFilename(String siteID, VirtualPath path, String& directory, String& baseName) +85
  System.Web.Configuration.UserMapPath.MapPath(String siteID, VirtualPath path) +30
  System.Web.Configuration.UserMapPath.MapPath(String siteID, String path) +29
  System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull) +211
  System.Web.CachedPathData.GetConfigPathData(String configPath) +389
  System.Web.CachedPathData.GetVirtualPathData(VirtualPath virtualPath, Boolean permitPathsOutsideApp) +132
  System.Web.HttpContext.GetFilePathData() +27
  System.Web.HttpContext.GetConfigurationPathData() +26
  System.Web.Configuration.CustomErrorsSection.GetSettings(HttpContext context, Boolean canThrow) +157
  System.Web.HttpResponse.ReportRuntimeError(Exception e, Boolean canThrow, Boolean localExecute) +96
  System.Web.HttpRuntime.FinishRequest(HttpWorkerRequest wr, HttpContext context, Exception e) +338

 


--------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.1873; ASP.NET 版本:2.0.50727.1433 





提示有字符串错误,我不知道错在哪里了,但是以上下载代码我应该怎么修改。谢谢了

------解决方案--------------------
<a href="test.xls">下载</a>

"代码运行后我看到IE状态栏的地址都是正确的"
地址是怎样的,如果没错的话,你试下a标签行不行