asp.net mvc 5我可以从url隐藏控制器名称吗

asp.net mvc 5我可以从url隐藏控制器名称吗,asp.net,asp.net-mvc-5,Asp.net,Asp.net Mvc 5,我们在asp.NETMVC5中有一个项目,当我运行我的项目并单击某个按钮转到下一页时,我们会得到如下url www.abx.com/project/projectname 其中,project是我的控制器名称,projectname是操作名称 所以如果我想这样 www.abx.com/projectname 那么这是可能的吗 请,如果有人有一些解决方案,请给出它 这是我的route.config文件代码 public static void RegisterRoutes(RouteCollect

我们在asp.NETMVC5中有一个项目,当我运行我的项目并单击某个按钮转到下一页时,我们会得到如下url
www.abx.com/project/projectname

其中,project是我的控制器名称,projectname是操作名称

所以如果我想这样

www.abx.com/projectname

那么这是可能的吗

请,如果有人有一些解决方案,请给出它

这是我的route.config文件代码

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

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

谢谢

您必须创建一条新路线:

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

routes.MapRoute(
name: "ProjectName1",
url: "Projectname1",
defaults: new { controller = "Project1", action = "Projectname1" }
);

routes.MapRoute(
name: "ProjectName2",
url: "Projectname2",
defaults: new { controller = "Project2", action = "Projectname2" }
);

routes.MapRoute(
name: "ProjectName3",
url: "Projectname3",
defaults: new { controller = "Project3", action = "Projectname3" }
);



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


}

如果您只想为一个控制器执行此操作,@Hamed Javaheri建议

如果您希望这适用于多条/大多数路线,则可能需要更改默认映射,类似于此问题:


我们需要超过5页的内容。www.abx.com/project/projectname1 ww.abx.com/project/projectname2 ww.abx.com/project/projectname3 ww.abx.com/project/projectname4 ww.abx.com/project/projectname1 ww.abx.com/projectname2 ww.abx.com/projectname3 ww.abx.com/projectname4www.abx.com/projectname5请检查。
public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Project",
                url: "projectname",
                defaults: new { controller = "project", action = "projectname", id = UrlParameter.Optional }

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
 public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{action}",
                defaults: new { controller = "project", id = "" }
            );
        }