我的网站上有一个帮助页面,用户可以使用此网址查看
www.mydomain/home/help
现在我希望我的用户在浏览器中看到此网址
www.mydomain/help
我的控制器名称是“home”,我的操作名称是“help”我可以通过在web.config上使用URL映射来处理它并且它工作正常
<urlMappings enabled="true">
<add url="~/Help" mappedUrl="~/Home/Help"/>
</urlMappings>
但是如果我想用我的路线处理它,我怎么能改变我的路线或添加什么路线,我添加了这条路线,但它不起作用
routes.MapRoute(
name: "myroute",
url: "home",
defaults: new { controller = "Home", action = "Help" }
);
我的路线有什么问题?
答案 0 :(得分:1)
自动将http://yourdomain.com/help
映射到http://yourdomain.com/home/help
案例1:
如果您在配置中使用<urlMapping />
<urlMappings enabled="true">
<add url="~/Help" mappedUrl="~/Home/Help"/>
</urlMappings>
url模板应该告诉控制器和动作参数映射,更改网址如下:
routes.MapRoute(
name: "myroute",
url: "{controller}/{action}",
defaults: new { controller = "Home", action = "Help" }
);
或
案例2:
如果没有<urlMapping />
,您可以使用下面的MapRoute
进行管理
routes.MapRoute(
name: "HelpRoute",
url: "help/{controller}/{action}",
defaults: new { controller = "Home", action = "Help" }
);
有关路由示例的详细信息,请参阅下面的页面
http://msdn.microsoft.com/en-us/library/vstudio/cc668201(v=vs.100).aspx
答案 1 :(得分:1)
您可以为yourdomain.com/help
:
routes.MapRoute(
name: "Help",
url: "help",
defaults: new { controller = "Home", action = "Help" }
);