带有特殊字符的网址#

时间:2011-05-17 14:25:21

标签: c# asp.net iis

我要在浏览器中显示名称中包含此#的文件。在URL上使用它,文件似乎不可用。

如何配置IIS或我的web.config以允许此操作?

感谢, 安德烈

3 个答案:

答案 0 :(得分:9)

这不是网址的工作原理。

#字符用于表示哈希部分;之后的任何内容都没有发送到服务器。

您需要将#转义为%23

答案 1 :(得分:3)

使用URLEncode方法对查询字符串的文件名进行编码

如上所述,#字符是一个特殊字符,用于表示页面上的书签

答案 2 :(得分:2)

在构建网址时,您需要UrlEncode文件名。这将转义'#'字符,允许浏览器正确解释它。

正确的编码对于防止针对您的应用程序的Cross-Site Scripting攻击非常重要,这可能是毁灭性的。