MVC(实战二:网址映射)

一、默认网址

Global.asax 默认网址配置:

 此时打开编辑页面,效果如下:

?后面包含name参数和Email参数

 在Global中修改网址路由:

 public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Guestbook",  //路由名称
                "Guestbook/{action}/{name}",//URL及参数
                    new
                    {
                        controller = "Guestbook",
                        action = "Edit",
                        name = "MyDefine"
                    }

                );
            //http://localhost:21461/Guestbook/Edit?name=%E8%83%A1%E6%B4%81&Email=hujieqiupiao%40163.com
            routes.MapRoute(
                "Default", // 路由名称
                "{controller}/{action}/{id}", // 带有参数的 URL
                new { controller = "Guestbook", action = "Index", id = UrlParameter.Optional } // 参数默认值

            );

            
        }
示例代码

再次运行,打开刚才的网址,效果如下:

已经将参数变量 name,隐藏。

继续隐藏

 routes.MapRoute(
                "Guestbook",  //路由名称
                "Guestbook/{action}/{name}/{Email}",//URL及参数
                    new
                    {
                        controller = "Guestbook",
                        action = "Edit",
                        name = "1",
                        Email="2"
                    }

                );

效果如下:

继续调整隐藏

 routes.MapRoute(
                "Guestbook",  //路由名称
                "Guestbook/{action}/{Email}/{name}",//URL及参数
                    new
                    {
                        controller = "Guestbook",
                        action = "Edit",                        
                        Email="2",
                        name = "1"
                    }

                );

效果如下:

 其中

          2:是Email的参数(没有传递,所以取的是默认值)

         胡洁:name参数(传递,取的实际值)

原文地址:https://www.cnblogs.com/qiupiaohujie/p/12003280.html