mvc3路由設置


一、使用默認值的路由:

            //配置默認的參數,當輸入http://localhost:4016/Home時,就會顯示Home/Index,當然可以定義兩個參數
            //如果http://localhost:4016/Home/Index/?Page=1是有效的
            //如果是http://localhost:4016/Home/Index/Page=1無效
            routes.MapRoute("MyRoutes", "{controller}/{action}", new { action = "Index" });//

二、使用靜態路由片段(在域名后面加上一個常量,然后接控制器和方法)

            //下面是靜態url和默認的混合使用,當輸入http://localhost:4016/Public/Home時,能顯示出來
            routes.MapRoute("MyRoutes", "public/{controller}/{action}", new { action = "Index" });
            //也可以使用下面的靜態url,http://localhost:4016/XHome
            routes.MapRoute("MyRoutes", "X{controller}/{action}", new { action = "Index" });

三、路由順序

            //由於路由具有順序性,當輸入url,http://localhost:4016/XHome/Index。會指定到404
            routes.MapRoute("MyRoute", "{controller}/{action}",new { controller = "Home", action = "Index" });
            routes.MapRoute("", "X{controller}/{action}");

四、定義自己的變量(不僅僅限於controller和action,還可以是id)

//ViewBag.Message = RouteData.Values["year"].ToString() + RouteData.Values["month"].ToString() + RouteData.Values["day"].ToString();
//在Index方法中加入上面的代碼,在view中輸出message,獲取年月日
routes.MapRoute("MyRoute", "{controller}/{action}/{year}/{month}/{day}",new { controller = "Home", action = "Index", year = "2013"
,month="04",day="17" });

 五、定義可選參數

            //最后一個為可選參數,經常和帶有默認值的action一起使用,即沒有最后一個參數的話,就使用action中的默認參數
            routes.MapRoute("MyRoute", "{controller}/{action}/{id}", new { controller="Home",action="Index",id=UrlParameter.Optional});

六、指定命名空間

            //當有兩個不同命名空間,但controller名卻相同時,為路由指定優先的命名空間,以找到合適的controller
       //最后面一個參數是數組,表示一個范圍,不代表查找先后次序。如果是數組中加入的是具有相同的controller,那么不能解決controller沖突
routes.MapRoute("MyRoute", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional },
          new[] { "RoutesDemo.Controllers" });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM