ITPub博客

首页 > IT职业 > IT生活 > asp.net mvc中的路径选择

asp.net mvc中的路径选择

IT生活 作者:cartoonfish 时间:2021-09-09 09:15:04 0 删除 编辑

MVC的路径选择十分灵活,可以用类似/parm1/parm2/parm3/ 的方式(这个有点象iis的urlrewriter),也可以象传统url那样用/?parm1=a&parm2=b&parm3=c这样访问

关键是Global.asax中Route规则的配置

以下是一个Global.asax的示例:

 1protected 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        }


对应的HomeController文件:

public class HomeController : Controller
    {       
        /// 
        /// Example URL: /Home/Index/?id=2&name=abc&sex=male (对应Url = "[controller]/[action]")                     
        ///              /Home/Index/2/?name=abc&sex=male  (对应Url = "[controller]/[action]/[id]")          
        ///              /Home/Index/2/abc/?sex=male  (对应Url = "[controller]/[action]/[id]/[name]")
        ///              /Home/Index/2/abc/male/ (对应Url = "[controller]/[action]/[id]/[name]/[sex]")
        ///              /Home/Index/2/abc/  (对应Url = "[controller]/[action]/[id]/[name]")
        ///              /Home/Index/2/ (对应Url = "[controller]/[action]/[id]")
        /// 
        /// 
        [ControllerAction]
        public void Index(int? id,string name,string sex)
        {
            ViewData["id"] = id;
            ViewData["name"] = name;
            ViewData["sex"] = sex;
            RenderView("Index");
        }      
    }

图片描述





对应的Index视图:
图片描述
图片描述
图片描述
图片描述
图片描述    

Welcome to my ASP.NET MVC Application!


图片描述    
图片描述    id= 

图片描述    name=

图片描述    sex=
图片描述
图片描述

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1409/viewspace-2801231/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-15

  • 博文量
    96
  • 访问量
    514