gpt4 book ai didi

c# - 加密字符串在 ASP.NET MVC 中产生 404 错误

转载 作者:行者123 更新时间:2023-11-30 12:28:18 25 4
gpt4 key购买 nike

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

Nf7JnWp/QXfA9MNd52RxKpWg=

但是由于这个字符串中的斜杠,我得到了 404 错误 ...

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

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

谢谢你,

米格尔

最佳答案

您可以通过定义自定义路由来解决此问题。现在我不知道你是如何命名你的 Controller 或你的 Action 的,所以我将使用通用名称。

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=,它将调用 Controller CustomNameController 中的 Action 方法 CustomName .

请注意,asp.net Framework 采用您的路由配置中的第一条路由,这与它的模式相匹配。如果您有默认路由并将新的自定义路由放在下方,它将失败。将自定义路由放在它上面,将起作用

关于 SO 的类似问题:

  1. ActionLink contains slash ('/') and breaks link

  2. URLs with slash in parameter?

关于c# - 加密字符串在 ASP.NET MVC 中产生 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22324335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com