如何在MVC路由中启用特殊字符

本文关键字:启用 特殊字符 路由 MVC | 更新日期: 2023-09-27 17:49:14

我正在使用asp.net MVC 4。

这些是我的路线:

        routes.MapRoute(
         name: "Default",
         url: "{controller}/{action}/{id}"
         );

我的当前控制器正确响应以下请求:

http://localhost:2020/PrivacyUrls/Details/ct14524

我如何验证这样的url ?

http://localhost:2020/PrivacyUrls/Details/*ct14524

http://localhost:2020/PrivacyUrls/Details/&ct14524

现在返回404。

有潜在危险的请求。从客户端检测到路径值(*).

有潜在危险的请求。从客户端检测到路径值(&)。

我想添加这条路线,但没有帮助:

       routes.MapRoute(
         "PivacyUrl/Details",
         "PrivacyUrls/Details/{*ctid}",// URL with parameters 
         new { controller = "PrivacyUrls", action = "Details" }
         );

如何在MVC路由中启用特殊字符

In web.config:

<system.web>
    <httpRuntime requestPathInvalidCharacters="" requestValidationMode="2.0" />
    <pages validateRequest="false" />
</system.web>

公然窃取https://stackoverflow.com/a/6026291/299408

这个答案不适合我。我不得不使用:

[ValidateInput(false)]
public ActionResult Index...

希望对大家有所帮助