繁体   English   中英

加密字符串在ASP.NET MVC中导致404错误

[英]Encrypted String originates 404 error in ASP.NET MVC

在ASP.NET MVC 5.1上,我有一个接收加密字符串的操作,例如:

Nf7JnWp / QXfA9MNd52RxKpWg =

但由于此字符串中的斜杠,我收到404错误...

我试图用HttpUtility.UrlEncode和WebUtility.UrlEncode对字符串进行编码;

但我一直有同样的问题。 有谁知道如何解决这个问题?

谢谢,

米格尔

您可以通过定义自定义路由为此构建解决方法。 现在我不知道你如何命名你的控制器或你的动作,所以我将使用通用名称。

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=它会调用Action方法CustomName在控制器CustomNameController

请注意,asp.net Framework采用路由配置中的第一条路由,该路由与其模式匹配。 如果您有Defaultroute并将新的自定义路线置于下方 ,则会失败。 在其上方放置自定义路线将起作用

关于SO的类似问题:

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

  2. 参数中包含斜杠的网址?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM