MVC的路径选择十分灵活,可以用类似/parm1/parm2/parm3/ 的方式(这个有点象iis的urlrewriter),也可以象传统url那样用/?parm1=a&parm2=b&parm3=c这样访问
关键是Global.asax中Route规则的配置
以下是一个Global.asax的示例:
1
protected void Application_Start(object sender, EventArgs e)
2
{
3
// Note: Change Url= to Url="[controller].mvc/[action]/[id]" to enable
4
// automatic support on IIS6
5
6
RouteTable.Routes.Add(new Route
7
{
8
Url = "[controller]/[action]",
9
Defaults = new { action = "Index" },
10
RouteHandler = typeof(MvcRouteHandler)
11
});
12
13
14
RouteTable.Routes.Add(new Route
15
{
16
Url = "[controller]/[action]/[id]",
17
Defaults = new { action = "Index", id = (int?)null },
18
RouteHandler = typeof(MvcRouteHandler)
19
});
20
21
22
RouteTable.Routes.Add(new Route
23
{
24
Url = "[controller]/[action]/[id]/[name]",
25
Defaults = new { action = "Index", name = (string)null,id=(int?)null },
26
RouteHandler = typeof(MvcRouteHandler)
27
});
28
29
RouteTable.Routes.Add(new Route
30
{
31
Url = "[controller]/[action]/[id]/[name]/[sex]",
32
Defaults = new { action = "Index", name = (string)null, id = (int?)null,sex=(string)null },
33
RouteHandler = typeof(MvcRouteHandler)
34
});
35
36
37
RouteTable.Routes.Add(new Route
38
{
39
Url = "Default.aspx",
40
Defaults = new { controller = "Home", action = "Index", id = 2, name = "Jimmy",sex="female" },
41
RouteHandler = typeof(MvcRouteHandler)
42
});
43
}

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

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

对应的HomeController文件:





















对应的Index视图:










