Asp.net MVC定义短网址的方法

2025-05-29 0 41

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

默认的路由规则

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

?

1

2

3

4

5

6

7

8

9
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的路由规则:

?

1

2

3

4

5
routes.MapRoute(

"ShortAbout",

"About",

new { controller = "Home", action="About" }

);

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

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

?

1

2

3

4

5
routes.MapRoute(

"ActionOnly",

"{action}/{id}",

new { controller = "Home", action = "About", id = UrlParameter.Optional }

);

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

?

1

2

3

4

5

6
routes.MapRoute(

"ActionOnly",

"{action}/{id}",

new { controller = "Home", action = "Index", id = UrlParameter.Optional },

new { action = "About|Index" }

);

以上所述是小编给大家介绍的Asp.net MVC定义短网址的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

原文链接:http://www.cnblogs.com/yunspider/archive/2016/08/20/5791472.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Asp.net MVC定义短网址的方法 https://www.kuaiidc.com/100393.html

相关文章

发表评论
暂无评论