|
|
1
16
好的,我确认了这是 现在 ASP中的一个已知问题。NET路由,不幸的是。问题是,在路由的深处,我们在转义Uri的路由参数时使用Uri.EscapeString。但是,该方法不会转义“#”字符。 请注意,#字符(又名Octothorpe)在技术上是错误的字符。C语言实际上是一个“C”,后面跟着一个夏普符号,就像音乐一样: http://en.wikipedia.org/wiki/Sharp_(music) 如果你使用尖锐的标志,这可能会解决这个问题。P 另一种解决方案是,由于大多数人都想使用octothorpe,因此可以为此路由编写一个自定义路由,并在获得虚拟路径路径后,使用HttpUtility对#符号进行编码。UrlEncode,将#编码为%23。 作为跟进,我想向您推荐这篇关于传递其他“无效”字符的博客文章。 http://haacked.com/archive/2010/04/29/allowing-reserved-filenames-in-URLs.aspx |
|
|
2
3
URL编码!更改链接,使其对特殊字符进行编码。
C#将变为“C%23”。 |
|
|
3
3
在我的机器上工作。以下是我为创建最简单的示例所做的工作。
然后我启动了我的应用程序并导航到/home/index。重定向发生了,我在浏览器中看到了“C#家伙”。 |
|
|
Andrus · 如何在Linux中阅读期刊 1 年前 |
|
|
Miranda · 读取xml文件时路径错误中有非法字符 1 年前 |
|
|
Primdonm · 如何将自定义列表中的字符串值格式化为货币格式? 2 年前 |
|
|
Kiryl · Sitecore中自己的控制器 2 年前 |
|
|
Farid · 如何从数据库中填充Resource.resx文件值? 2 年前 |