0

我正在 VS2010 上用 C# 编写网页。

我有一个从数据库填充的gridview。在加载 gridview Columns 时,我删除了文件的本地地址,并为其提供了可以找到本地文件的服务器名称。所以如果它的本地路径是 E:/secureDocs/depositions/file a.pdf 任何人的计算机可以使用的路径是 \\dmzwimkeweb01\securedocs\depostions\file a.pdf

    <Columns >    
      <asp:BoundField DataField="docTypeName" HeaderText="Type" /> 
        <asp:TemplateField HeaderText="Name" >
            <ItemTemplate>               
                <a href='<%#Utility.Clean(((String)Eval("docPath")).Replace("e:", "\\dmzwimkeweb01")) %>'><%# ((String)Eval("docname")).Replace("|^||^||^||^||^||^||^||^|", "&#39;")%></a>
            </ItemTemplate>

        </asp:TemplateField>

        <asp:BoundField DataField="pageName" HeaderText="Folder" />
        <asp:BoundField DataField="docCreateDate" HeaderText="Date" HtmlEncode="false" DataFormatString="{0:MM/dd/yyyy}" /> 
    </Columns>

但是,当我单击进入该列的链接时,它会将我带到 h_ttp://dmzwimkeweb01/secureDocs/depositions/file%20a.pdf

所以现在斜线是错误的方式(不知道这是否重要),当它应该只是到网络上服务器的链接时,它会将我带到“http://”,并将 %20 放​​在有空间的地方在文件名中。此外,当我单击链接时,它会尝试在 IE 中打开它,而不是打开 pdf 阅读器

所以我想要的链接是:\\dmzwimkeweb01\securedocs\depostions\file a.pdf

4

2 回答 2

2

假设点击你的链接的人可以访问网络文件位置,让你的链接看起来像这样:

<a href="file:///dmzwimkeweb01/securedocs/depositions/file a.pdf">My link</a>

由于 URL 的规范与 Microsoft 的路径规范不同,因此斜线确实会“走错路”。希望这可以帮助!:)

于 2012-06-25T19:44:42.000 回答
0

您是否尝试过“smb://dmzwimkeweb01/securedocs/depostions/file a.pdf”

于 2012-06-25T19:43:25.833 回答