为了账号安全,请及时绑定邮箱和手机立即绑定

asp.net mvc中如果注册一个路由{a}/{b}/{c}/{d},路由怎么解析

asp.net mvc中如果注册一个路由{a}/{b}/{c}/{d},路由怎么解析

慕姐8265434 2018-12-04 05:04:09
asp.net mvc中如果注册一个路由{a}/{b}/{c}/{d},路由怎么解析
查看完整描述

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

1

2

3

4

5

6

7

8

9

routes.MapRoute(

 

                "Default", // 路由名称

 

                "{controller}/{action}/{id}", // 带有参数的 URL

 

                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值

 

            );

一般来说  路由是这样的

 你写的那个 要自定义路由了

 

定义一个路由首先你要写控制器名字和方法名

比如

1

2

3

4

5

6

7

8

9

routes.MapRoute(

 

                "Default2", // 路由名称

 

                "{a}/{b}/{c}/{d}", // 带有参数的 URL

 

                new { controller = "Home", action = "Index", a ="1",b="2",c="3",d="4" } // 参数默认值

 

            );

这个路由写得比较简单

但是实际上 这个路由调用的是

Home控制器下面  Index()//4个参数

 

我是这样理解的 也是这样用的

如有发现不对的地方 麻烦指出来 大家学习下

 

给你看看我写的路由

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

routes.MapRoute(

 

             "Caps2",

 

             "San-Francisco-49ers-Hats",

 

             new { controller = "PClass", action = "Caps" }

 

               );

            routes.MapRoute(

 

             "Versions2",

 

             "San-Francisco-49ers-{Version}-Jersey-Page-{p}",

 

             new { controller = "PClass", action = "SiteVersion2" }, new { Version = @"(Elite|Limited|Game)$", p = @"\+?[1-9][0-9]*" }

 

               );

 

            routes.MapRoute(

 

             "Versions",

 

             "San-Francisco-49ers-{Version}-Jersey",

 

             new { controller = "PClass", action = "SiteVersion" }, new { Version = @"(Elite|Limited|Game)$" }

 

               );


 


查看完整回答
反对 回复 2018-12-22
  • 1 回答
  • 0 关注
  • 364 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信