我在Web應用程序中遇到了URL字符串問題。它使用的是類似於\\houtestmachine\common\File1.pdf
的UNC路徑。我的問題是當它遇到具有#字符的文件時。我嘗試做一個字符串newstring = originalstring.Replace(「#」,「%23」);但是在瀏覽器運行時,#仍然存在於URL(超鏈接的目標)中。我怎樣才能解決這個問題?在特殊字符處出現網址
回答
你的文件系統路徑和URL之間的轉換。 Uri類應符合該法案:
using System;
class Program {
static void Main(string[] args) {
var url = new Uri(@"\\houtestmachine\common\F#ile1.pdf");
Console.WriteLine(url.AbsoluteUri);
var back = url.LocalPath;
Console.WriteLine(back);
Console.ReadLine();
}
}
輸出:
file://houtestmachine/common/F%23ile1.pdf
\\houtestmachine\common\F#ile1.pdf
漢斯 - 我認爲你在這裏,但我的問題仍然存在。讓我進一步解釋我的例子可能不完美。我的循環也找到了一個名稱結構如「5678_Mills 09-14#2-3H_CBL.tif」的文件,並且你的代碼看起來似乎最初將它設置爲怪人houtestmachine/common/5678_Mills%2009-14%20% 232-3H_CBL.tif然後我必須設置hyperlink.NavigateUrl到這個uri.absoluteUri,當我把鼠標懸停在瀏覽器的這個超鏈接上時,我發現它說怪人怪人houtestmachine/common/5678_Mills%2009-14%20#2-3H_CBL .tif – Josh 2010-04-28 12:55:32
那麼這與超鏈接有什麼關係,或者是否存在一個與#號空間盈利有關的問題?我不知道,但有很多文件具有這種結構,我需要找到一種方法來實現它。感謝您的幫助 – Josh 2010-04-28 12:56:12
爲什麼file://前綴缺失?這應該很重要。 – 2010-04-28 13:05:48
使用符號@ befor字符串。例如
串ST = @「你的#路」
- 1. Mysql刪除特殊字符後出現特定特殊字符
- 2. 具有特殊字符的網址#
- 3. 特殊字符與網址重寫
- 4. 網址重寫,原始網址忽略特殊字符
- 5. 出現爲問號的特殊字符
- 6. 使用Files.readAllLines時出現特殊字符
- 7. 處理特殊字符?
- 8. XML特殊字符處理
- 9. 處理特殊字符
- 10. 處理特殊字符
- 11. 如何在任何網址中編碼「&」特殊字符..?
- 12. 要啓用在nutch中的特殊字符的抓取網址
- 13. HTTrack在德語特殊字符的unicode網址上提供404
- 14. 在網址中啓用'&'和特殊字符
- 15. 在網址中使用特殊字符的PHP simplexml_load_file
- 16. Socket.io發出特殊字符
- 17. 處理特殊字符在NSURL
- 18. 在javascript中處理特殊字符
- 19. 從字符串中提取hashtag直到出現特殊字符
- 20. 在特殊字符前面呈現
- 21. 在Chrome上呈現特殊字符
- 22. 網址包含特殊charectors
- 23. 處理RTF字段的特殊字符
- 24. 如何處理與單引號等特殊字符的動態網址?
- 25. 在鉻上只出現在html上的特殊方塊字符
- 26. 在HTML輸出的特殊字符
- 27. HTTP的出站網關沒有表現出特殊字符 - 編碼休息
- 28. 特殊字符的Internet Explorer網址問題
- 29. 特殊字符無法打開的網址
- 30. 特殊字符分隔生成的網址
還與我上面做了替換,我注意到,它把2523,其中23%應導致我相信它試圖對%符號進行編碼,而不是僅僅放入%23。如果有人能幫助我,請告訴我。謝謝 – Josh 2010-04-27 22:11:20