特殊字符的网址破坏

时间:2010-04-27 21:57:07

标签: c# .net

我的Web应用程序中的URL字符串出现问题。它正在使用类似于\\houtestmachine\common\File1.pdf的UNC路径。遇到具有#字符的文件时我的问题是。我尝试做一个字符串newstring = originalstring.Replace(“#”,“%23”);但是#在运行时在浏览器中仍然存在于URL(超链接的目标)中。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

您正在文件系统路径和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

答案 1 :(得分:1)

您是否尝试过 HttpUtility.UrlEncode()

答案 2 :(得分:0)

在字符串前使用符号@。例如 string set = @“your#path”