【问题标题】:How do I enable special characters in MVC routing?如何在 MVC 路由中启用特殊字符?
【发布时间】:2012-12-10 04:24:20
【问题描述】:

我正在使用 asp.net MVC 4。

这些是我的路线:

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

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

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

如何验证此类网址?

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

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

现在返回 404。

检测到来自客户端 (*) 的潜在危险 Request.Path 值。

从客户端 (&) 检测到具有潜在危险的 Request.Path 值。

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

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

【问题讨论】:

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


    【解决方案1】:

    在 web.config 中:

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

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

    【讨论】:

      【解决方案2】:

      答案对我不起作用。我不得不使用:

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

      希望这对其他人有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-08
        • 2011-08-29
        • 2014-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多