带有斜杠的URL变量,它的URL编码但IIS仍然看到斜杠?

时间:2017-04-12 14:43:24

标签: c# asp.net-mvc-routing

我有一个控制器,其方法是在路径中传递一个变量 - Controller:

[Route("cont/{MyParameter}")]
public ActionResult Index(string MyParameter)
{
...
}

当我在URL中传递一个值(abcdef)时,这很好:

http://localhost/my-website/cont/abcdef

但是当我用编码的斜线传递一个 - 它失败了 - 好像斜线没有编码 - 例如:

http://localhost/my-website/cont/abc%2fdef

我得到了一个"无法找到资源"在IIS中 - 请求的URL显示在正文中:

Requested URL
   http://localhost:80/f-website/cont/abc/def

它似乎添加了斜线 - 即使它们已被编码。

但地址栏仍会显示带有%2f的原始网址。

如何将/ in作为参数传递?我认为URL编码是解决方案,但显然没有效果。

我在Google上找不到有关此特定问题的任何内容。

0 个答案:

没有答案