Asp.net mvc 4 如何将url映射更改为路由?

Asp.net mvc 4 如何将url映射更改为路由?,asp.net-mvc-4,Asp.net Mvc 4,我的网站上有一个帮助页面,用户可以使用此url查看它 www.mydomain/home/help 现在我想让我的用户在他们的浏览器上看到这个URL www.mydomain/help 我的控制器名是“home”,我的操作名是“help”,我可以通过在我的web.config上使用URL映射来处理它,它工作得很好 <urlMappings enabled="true"> <add url="~/Help" mappedUrl="~/Home/Help"/> &

我的网站上有一个帮助页面,用户可以使用此url查看它

www.mydomain/home/help
现在我想让我的用户在他们的浏览器上看到这个URL

www.mydomain/help
我的控制器名是“home”,我的操作名是“help”,我可以通过在我的web.config上使用URL映射来处理它,它工作得很好

<urlMappings enabled="true">
   <add url="~/Help" mappedUrl="~/Home/Help"/>
 </urlMappings>

我的路线有什么问题?

到自动地图
http://yourdomain.com/help
http://yourdomain.com/home/help

案例1: 如果在配置中使用

<urlMappings enabled="true">
   <add url="~/Help" mappedUrl="~/Home/Help"/>
 </urlMappings>

案例2: 如果没有
,您可以使用
MapRoute
进行管理,如下所示

routes.MapRoute(
            name: "HelpRoute",
            url: "help/{controller}/{action}",
            defaults: new { controller = "Home", action = "Help" }
        );
有关路由示例的更多详细信息,请参见下页


您可以为
yourdomain.com/help
创建特定路由:

 routes.MapRoute(
     name: "Help",
     url: "help",
     defaults: new { controller = "Home", action = "Help" }
 );

,我在没有像案例2那样的url映射的情况下对其进行测试,但我得到了以下错误:找不到资源。您可能在RouteConfig中有其他带有一个url标记的路由映射。现在我更新了案例2并添加了参考链接。有关更多示例,请尝试
routes.MapRoute(
            name: "HelpRoute",
            url: "help/{controller}/{action}",
            defaults: new { controller = "Home", action = "Help" }
        );
 routes.MapRoute(
     name: "Help",
     url: "help",
     defaults: new { controller = "Home", action = "Help" }
 );