为什么我的超链接不起作用?

时间:2015-05-19 18:07:09

标签: asp.net vb.net hyperlink

我有一个带有超链接标记的asp.net页面,我的想法是我希望能够点击超链接(它将具有系统上目录的地址)并且能够打开目录

我的超链接标记位于gridview中,其代码如下所示:

<asp:HyperLink ID="eFileHyper" runat="server" Text='<%#Bind("hyperlink")%>' NavigateUrl='<%#Bind("hyperlink")%>' Target="_blank"></asp:HyperLink>

我在后端有一些代码将“file:///”添加到地址的开头,如下所示:

Dim dr As DataRow
Dim dt As DataTable
    dt = CType(Session("newEFileTable"), DataTable)

    dr("lastUpdated") = Now
    dr("hyperlink") = "file:///" & hyperLink.Text
    dt.Rows.Add(dr)

    ' Update session table
    Session("newEFileTable") = dt

    ' update gridview - This binds the Session to the gridview
    BindEFileData()

如果我进入像\\ server \ directory \子目录这样的目录,它显示为 - file:/// \\ server \ directory \ subdirectory,它可以正常工作。

如果我将目录作为C:/ directory /子目录输入,则显示为file:/// c:/ directory / subdirectory,但点击它不会执行任何操作。

为什么其中一个会起作用而另一个不起作用?

更新 \\ server \ directory \子目录与C:/ directory /子目录无关。 C:/ one当然是本地的,另一个是服务器上文件的地址。

1 个答案:

答案 0 :(得分:0)

最新版本的浏览器会禁用指向本地内容的链接(除非链接位于文件中)作为安全功能。

请参阅Workaround for href="file://///..." in Firefox

此外,搜索“iis enable local files links”并获得大量点击。您似乎可以通过禁用相关的IE安全性来解决此问题:https://superuser.com/questions/149068/how-to-add-a-local-file-to-trusted-zone-in-ie8。我现在无法测试,因为我在工作,浏览器设置被锁定。

相关问题