ASP.Net NavigateUrl到远程服务器

时间:2013-01-18 16:27:21

标签: asp.net gridview navigateurl

有没有办法使用NavigateUrl从gridview内的远程服务器目录打开PDF文件?我能够从文本框中检索文件编号并生成链接,但是当您点击链接时没有任何反应。由于NavigateUrl位于远程服务器并尝试在Web浏览器中打开,我的NavigateUrl可能格式错误吗?我的代码如下。提前谢谢。

            <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" />

2 个答案:

答案 0 :(得分:1)

导航网址需要看起来像URL而不是物理文件路径。像http://server/path/x.pdf这样的东西。如果您拥有存储文档的共享,请考虑添加指向远程服务器和目录的虚拟目录。之后,可以使用http://yourserver/virtualpath/x.pdf

从asp.net应用程序访问文件

答案 1 :(得分:0)

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

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