加密字符串导致ASP 404错误.净MVC

本文关键字:错误 MVC ASP 字符串 加密 | 更新日期: 2023-09-27 17:49:33

我有一个接收加密字符串的操作,例如:

Nf7JnWp/QXfA9MNd52RxKpWg =

但是我得到一个404错误,因为这个字符串里面的斜杠…

我尝试用HttpUtility对字符串进行编码。

UrlEncode和WebUtility.UrlEncode

但是我总是遇到同样的问题。有人知道怎么解吗?

谢谢你,米盖尔

加密字符串导致ASP 404错误.净MVC

你可以通过定义自定义路由来解决这个问题。现在我不知道你如何命名你的控制器或你的动作,所以我将使用通用名称。

routes.MapRoute(
    "SpecialControllerName",
    "CustomName/{*id}",
     new { controller = "CustomName", action = "CustomAction", id = UrlParameter.Optional }
);
public ActionResult Name(string id)
{
  //logic goes here
}

所以我们在这里做的,是把动作从等式中拿出来。现在,如果你调用http://yourdomain.com/CustomName/Nf7JnWp/QXfA9MNd52RxKpWg=,它将调用控制器CustomNameController中的Action方法CustomName

请注意,asp.net框架采用路由配置中的第一条路由,这与它的模式相匹配。如果你有默认路由,并把新的自定义路由放在下面,它会失败。把自定义路由放在上面,就可以了

关于SO的类似问题:

  1. ActionLink包含斜杠('/')并断开链接

  2. url与斜杠参数?