0

有没有办法使用 NavigateUrl 从网格视图内的远程服务器目录打开 PDF 文件?我可以从文本框中检索文件编号并生成链接,但是当您单击链接时,什么也没有发生。我的 NavigateUrl 是否会因为它位于远程服务器上并试图在 Web 浏览器中打开而被格式化?我的代码如下。提前致谢。

            <asp:TemplateField>
                <ItemTemplate>
                    <asp:HyperLink ID="HyperLink1" runat="server" 
                        NavigateUrl='<%# Eval("Name", "file:\\fileserver\pdf\{0}") %>' 
                        Target="_blank" Text='<%# Eval("Name", "{0:d}") %>'></asp:HyperLink>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField DataField="Name" DataFormatString="{0:d}" HeaderText="FILE NUMBER" />
            <asp:BoundField DataField="CreationTime" DataFormatString="{0:d}" HeaderText="DATE ADDED" />
            <asp:BoundField DataField="Length" DataFormatString="{0:#,### bytes}" HeaderText="FILE SIZE" />
4

2 回答 2

1

导航 url 需要看起来像一个 URL 而不是物理文件路径。之类的http://server/path/x.pdf。如果您拥有存储文档的共享,请考虑添加指向远程服务器和目录的虚拟目录。之后,就可以通过使用从您的 asp.net 应用程序访问文件http://yourserver/virtualpath/x.pdf

于 2013-01-18T16:39:12.177 回答
0

您需要通过 http:// 而不是 file:// 访问该文件,以使链接正常工作。

设置完成后,使用 Server.MapPath() 方法根据文件的路径生成 URL。

于 2013-01-18T16:30:48.380 回答