asp.net
  • vb.net
  • hyperlink
  • 2015-05-19 70 views 1 likes 
    1

    我有一個超鏈接標籤的asp.net頁面,想法是我想要能夠點擊超鏈接(它將有一個目錄在系統上的地址),並能夠打開目錄。爲什麼我的超鏈接不工作?

    我的超級鏈接標籤是GridView控件裏和它的代碼看起來是這樣的:

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

    我在後臺的一些代碼,增加了「文件:///」的地址開始,像這樣:

    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() 
    

    如果我喜歡這個\\服務器\目錄\子目錄的目錄進入它出現 - 文件:/// \\服務器\目錄\子目錄,它工作正常。

    如果我將一個目錄作爲C:/ directory /子目錄輸入,它將顯示爲file:/// c:/ directory/subdirectory,但單擊它不會執行任何操作。

    爲什麼這些工作之一,但其他不工作?

    更新 \\ server \ directory \子目錄與C:/ directory /子目錄無關。 C:/當然是本地的,另一個是服務器上文件的地址。

    +0

    網址格式無誤。它什麼都不做或重定向到不正確的地方? –

    +0

    它做什麼都沒有,我點擊C:/一個沒有任何反應 –

    +0

    創建只是有'temp '它,在瀏覽器中打開一個文件,看看鏈接的作品。適用於我 - 如果它不適合你,那麼我會尋找一個瀏覽器設置來禁用它。此外,瀏覽器之間的行爲不同 - Chrome在瀏覽器中呈現目錄列表,而IE則打開瀏覽器窗口。 –

    回答

    0

    最新版本的瀏覽器會禁用指向本地內容(除非鏈接在文件中)作爲安全功能的鏈接。

    Workaround for href="file://///..." in Firefox

    而且,搜索「IIS啓用本地文件鏈接」,你會得到很多的點擊。看起來您可以通過禁用相關IE安全來解決此問題:https://superuser.com/questions/149068/how-to-add-a-local-file-to-trusted-zone-in-ie8。我現在無法測試,因爲我在工作並且瀏覽器設置被鎖定。

    +0

    謝謝Tony!我會試試這個 –

    相關問題