频道栏目
首页 > 资讯 > 其他综合 > 正文

Asp.net MVC定义短网址

16-08-22        来源:[db:作者]  
收藏   我要投稿

在MVC的逻辑代码里,Controller和Action是必须的,但是在网址里,并不需要完全体现Controller和Action。比如我们经常希望看到http://localhost/About而不是http://localhost/Home/About。

默认的路由规则

新建MVC应用程序后,Global.asax里默认注册的路由规则是:

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

我们可以定义自己的路由规则。

定义短网址

我们定义一个可以用http://localhost/About等同于http://localhost/Home/About的路由规则:

? routes.MapRoute( "ShortAbout", "About", new { controller = "Home", action="About" } );

此时访问http://localhost/About和http://localhost/Home/About是一样的。

以上语句只定义了一个短网址,为了普遍性,可以这样定义路由规则:

? routes.MapRoute( "ActionOnly", "{action}/{id}", new { controller = "Home", action = "About", id = UrlParameter.Optional } );

为了减少对其他Controller下默认Action(URL无Action)的影响,可对Action作限制:

? routes.MapRoute( "ActionOnly", "{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new { action = "About|Index" } );

 

相关TAG标签
上一篇:Asp.NET MVC 导入Excel数据教程
下一篇:ASP.NET Core 中文文档 第三章 原理(14)服务器
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站