我无法在MVC中获取UrlParameter的值。我认为除1件事外,其他所有设置都正确。

这是我的MapRoute

public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
          "Banyo", // name it!
          "{controller}/{action}/{Filtre}", // Route name
           new { controller = "Banyo", action = "Marka", Filtre = UrlParameter.Optional } // Parameter defaults
        );

        routes.MapRoute(
            "Home", // Route name
            "{action}/{Filtre}", // URL with parameters
            new { controller = "Home", action = "Index", Filtre = UrlParameter.Optional }
        );

    }


这是动作功能...

public ActionResult Marka(string Filtre = null)
    {
        return View();
    }


并且Filtre始终返回null,即使我输入了URL“ http://localhost:7555/Banyo/Marka/Seranit”。我期望得到“ Seranit”值Filtre参数。

如果我输入“ localhost:7555 / Banyo / Marka?Filtre = Seranit”; ... Filtre参数给了我期望的“ Seranit”值。我怎样才能解决这个问题?

最佳答案

我复制了您的路由配置并创建了一个控制器,就像您所做的一样,它可以正常工作。您有默认路线吗?是在自定义路线之前定义的吗?考虑到默认路由将首先被捕获(如果之前已定义)。让我知道,以便为您提供帮助。

关于c# - 在MVC中,UrlParameter始终为null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29995886/

10-12 02:57