当&符号出现在目录路径中时,浏览器中的PDF查看器会报告丢失的文件

时间:2017-03-14 16:45:28

标签: c# asp.net pdf

我正在尝试在Chrome浏览器中的PDF查看器中打开PDF,并且当目录路径中存在&符号时,它会报告丢失的文件,特别是文件名。

            LinkButton lbnFileName = (LinkButton)e.Row.FindControl("lbnFileName");
            Label lblFolder = (Label)e.Row.FindControl("lblFolder");
            string filePath = "/images/Documents/";
            string sFullPath = lblFolder.Text.Replace("\\", "/") + lbnFileName.Text;
            HyperLink hlDocName = (HyperLink)e.Row.FindControl("hlDocName");
            string vPath = Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath;
            string sURL = vPath + filePath + sFullPath.Replace("&", "%26");
            hlDocName.NavigateUrl = sURL;
            hlDocName.Target = "_Blank";

1 个答案:

答案 0 :(得分:0)

“&”是URL中的保留字符。它是一个参数分隔符,因此浏览器将其视为URL的一部分的结尾,并且可能会忽略所有内容而不是作为单独的参数。尝试将&符号更改为URL编码值(%26)并查看是否有效。