簡體   English   中英

通過C#代碼創建動態超鏈接可在IE中運行,但不能在Chrome中運行

[英]Creating dynamic Hyperlink through C# code works in IE but not in Chrome

我正在嘗試從本地存儲庫中讀取文件夾,並且想在瀏覽器中顯示PDF文件。 當有人單擊該瀏覽器時,應該可以看到PDF文件。

我正在創建指向該PDF的動態​​鏈接,但是問題是,當我單擊在Chrome中動態創建的那些鏈接時,它沒有任何作用。 但是在IE中它可以正常工作,但是它要求我啟用Intranet設置。

我用於執行此操作的代碼如下:

String link = "D:\\MyDir\\";
DirectoryInfo di = new DirectoryInfo("D:\\MyDir");
FileInfo[] rgFiles = di.GetFiles("*.pdf");
foreach (FileInfo fi in rgFiles) 
{
    Response.Write("<br><" + "a href=" +link+ fi.Name.ToString() + " runat= server >" + fi.Name.ToString() + "</a>");   
}

我的事情是你的建議是在字符串中放置變量。

嘗試這個

string aLink = string.Format(@"<br/><a href=""{0}"" runat=""server"" >{1}</a>",link+ fi.Name.ToString(),fi.Name.ToString());

問題很可能是網址未用引號引起來,請嘗試將代碼更改為

Response.Write("<br><a href=\"" +link+ fi.Name.ToString() + "\" runat= server >" + fi.Name.ToString() + "</a>"); 

編輯谷歌瀏覽器中有一個限制,由於安全原因,它阻止您打開本地文件,但是有一個擴展名 LocalLinks,您可以這樣做

在這種情況下是否需要runat = server? 您只是在創建靜態鏈接。

Response.Write("<br/><a href='" +link+ fi.Name.ToString() + "' target='_blank'>" + fi.Name.ToString() + "</a>");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM