您好,登錄后才能下訂單哦!
本篇文章為大家展示了MVC中怎么設定默認路由,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
MVC中,一般的情況下,使用IDE工具幫我們生成的代碼,在路由注冊的時候:
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "WebShow", action = "List", id = UrlParameter.Optional } ); }
默認給的路由地圖 我們在default:中去配置 默認是又那個控制器返回action。
這樣形如:http://localhost:1450/ 這樣,會默認使用默認的view文件夾中去找對應的響應model頁面;
但是當項目規模龐大,使用了MVC提供的Area模塊快的規劃,又要讓Area塊下某一個頁面作為默認頁面時,那就需要把route默認的路由去轉到我們指定Area下;要用到RouteCollection 的DataTokens方法。
舉個例子:Area下有注冊一個Admin塊
public class AdminAreaRegistration : AreaRegistration { public override string AreaName { get { return "Admin"; } } public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "Admin_default", "Admin/{controller}/{action}/{id}", new { controller = "Login", action = "Index", id = UrlParameter.Optional } //默認路徑是Login控制器,和Index action ); } }
如果要讓默認到admin下指定的。那么RegisterRoutes方法需要給routes路由到area 下的Admin塊;
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", "{controller}/{action}/{id}", new { controller = "Login", action = "Index", id = UrlParameter.Optional }, //這里要和Admin塊下的默認控制器和action一樣 new[] { "GTA.CMS.Site.Web.Areas.Admin.LoginController" }// 這個是你控制器所在命名空間 ).DataTokens.Add("area","Admin"); }
上述內容就是MVC中怎么設定默認路由,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。