国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

MVC設定默認路由為指定的Area下的某個action

2020-01-24 00:11:02
字體:
來源:轉載
供稿:網友

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");         }

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临汾市| 灌南县| 永吉县| 淮安市| 和平区| 平谷区| 和硕县| 龙井市| 沁源县| 田东县| 贵南县| 苗栗市| 文安县| 南召县| 甘南县| 广平县| 错那县| 随州市| 中西区| 商河县| 疏附县| 同心县| 二连浩特市| 武宣县| 关岭| 比如县| 虎林市| 舒兰市| 长兴县| 鄂州市| 株洲市| 都江堰市| 横山县| 广东省| 青州市| 乾安县| 潞城市| 辰溪县| 南平市| 上蔡县| 梧州市|