首页 > 解决方案 > 将 RouteConfig 文件从 ASP.Net MVC 4 迁移到 5

问题描述

以下 RouteConfig 在 ASP.NET MVC 4 中工作:

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

            routes.MapPageRoute(
                "Cuisine",
                "cuisine/{name}",
                new {controller = "Cuisine",action = "Search", name =""});

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
    }

在 ASP.Net MVC 5 中,声明

 routes.MapPageRoute(
                "Cuisine",
                "cuisine/{name}",
                new {controller = "Cuisine",action = "Search", name =""});

产生错误

Error   CS1503  Argument 3: cannot convert from '<anonymous type: string controller, string action, string name>' to 'string'   

显然,签名MapRoute已更改。

如何将代码迁移到 ASP.Net MVC 5?

标签: c#asp.netasp.net-mvc

解决方案


尝试这个

routes.MapRoute(
            name: "Cuisine",
            url: "cuisine/{name}",
            defaults: new {controller = "Cuisine",action = "Search", name = UrlParameter.Optional});

推荐阅读