亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

MVC4中使用Area和注意的地方

2019-11-14 13:50:01
字體:
來源:轉載
供稿:網友

在MVC項目中經常會使用到Area來分開不同的模塊讓項目結構更加的清晰。

步驟如下:

 項目 –> 添加 -> 區域 (Area)

 輸入 Admin

添加成功后

Area包含:
創建一個空MVC工程結構類似,Admin Area 有自己的 Controllers、Models 和 Views 文件夾,不一樣的地方就是多了一個 AdminAreaRegistration.cs 文件,這個文件中定義了一個叫 AdminAreaRegistration 的類,它的內容如下:

 

根目錄可以放一套一樣的結構用來做前端開發使用,而admin 目錄一般會作為管理員后臺來開發!

 

AdminAreaRegistration.cs 文件,這個文件中定義了一個叫 AdminAreaRegistration 的類,它的內容如下:

 1 namespace MvcApp4.Areas.Admin 2 { 3     public class AdminAreaRegistration : AreaRegistration 4     { 5         public override string AreaName 6         { 7             get 8             { 9                 return "Admin";10             }11         }12 13         public override void RegisterArea(AreaRegistrationContext context)14         {15             context.MaPRoute(16                 "Admin_default",17                 "Admin/{controller}/{action}/{id}",18                 new { controller = "home", action = "Index", id = UrlParameter.Optional },19                 namespaces: new[] { "MvcApp4.Areas.Admin.Controllers" } //指定該路由查找控制器類的命名空間20             );21         }22     }23 }

 

 在這里需要注意需加入 Areas 所在的命名空間,來控制 controllers 接收的參數,不然訪問會出現錯誤,往下一點會提到。

namespaces: new[] { "MvcApp4.Areas.Admin.Controllers" }

AreaRegistrationContext 類的 MapRoute 方法和 App_Start-> RouteConfig.cs  的 MapRoute 方法的使用是一樣的,只是區分Area 目錄下的路由控制!

在 Global.asax 中的 application_Start 方法會自動加了這樣一句代碼

1 protected void Application_Start() {2     AreaRegistration.RegisterAllAreas();3 4     WebApiConfig.Register(GlobalConfiguration.Configuration);5     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);6     RouteConfig.RegisterRoutes(RouteTable.Routes);7     BundleConfig.RegisterBundles(BundleTable.Bundles);8 }

 

調用 AreaRegistration.RegisterAllAreas 方法讓MVC應用程序在啟動后會尋找所有繼承自 AreaRegistration 的類,并為每個這樣的類調用它們的 RegisterArea 方法。

 

下面我們來做一個 Demo

 新建兩個訪問連接,內容都是一樣,都是簡單輸出一個 "hello World"

URL定位到 (areas/admin)

http://localhost:18291/Admin/Home/Index

URL定位到(根目錄)

http://localhost:18291/Home/Index 

 

 1     public class HomeController : Controller 2     { 3         // 4         // GET: /Admin/Home/ 5  6         public ActionResult Index() 7         { 8             return Content("hello world"); 9         }10 11     }

 

 

 

 如果剛才沒有加入:

namespaces: new[] { "MvcApp4.Areas.Admin.Controllers" }

運行后就會出現如下錯誤:

 

但是如果我們把根目錄下的  /Home/Index  的內容輸出改成  “Root Say hello World” , 你會發現還是輸出 “hello World”,

這是就是  Controller的歧義問題

這就是我們需要注意的另一個地方

我們需要在App_start下的 RouteConfig.cs 也要增加一個 namespaces 來聲明 Controller 訪問的命名空間!

 

   //App_start下的 RouteConfig.cs   
public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, namespaces: new[] { "MvcApp4.Controllers" }//指定該路由查找控制器類的命名空間 controllers ); } } //areas 下的 /Admin/AdminAreaRegistration.cs 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 = "home", action = "Index", id = UrlParameter.Optional }, namespaces: new[] { "MvcApp4.Areas.Admin.Controllers" } //對應的命名空間的 controllers ); } }

 

 

這樣訪問時就可以區分 , 不同目錄的 controller  

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国内高清视频| 久久久久久网址| 亚洲一区二区三区在线免费观看| 18性欧美xxxⅹ性满足| 激情成人在线视频| 热99精品里视频精品| 亚洲视频在线免费观看| 中文字幕日韩精品在线| 日韩亚洲综合在线| 欧美激情一级精品国产| 成人乱人伦精品视频在线观看| 国产精品日韩在线播放| 日韩视频免费大全中文字幕| 午夜精品久久久久久久男人的天堂| 91精品国产高清| 91久久久久久| 亚洲二区在线播放视频| xvideos亚洲| 中文字幕九色91在线| 国产精品黄色av| 成人黄色av免费在线观看| 日本在线精品视频| 亚洲自拍中文字幕| 亚洲视频在线播放| 亚洲免费精彩视频| 国产精品自拍视频| 日韩在线播放视频| 性欧美暴力猛交69hd| 国产成人福利视频| 国产丝袜精品视频| 成人亚洲综合色就1024| 欧美高清视频一区二区| 超碰日本道色综合久久综合| 亚洲国产天堂久久综合| 97国产精品视频| 日韩欧美在线免费观看| 这里只有精品久久| 日韩av黄色在线观看| 国产日韩欧美在线播放| 欧美日韩国产一区二区三区| 久久夜色精品国产亚洲aⅴ| 欧美电影免费观看大全| 91经典在线视频| 国产美女久久精品| 国产亚洲欧洲黄色| 色婷婷成人综合| 亚洲自拍偷拍区| 欧美性xxxx极品hd满灌| 日韩av在线天堂网| 91大神福利视频在线| 久久激情视频免费观看| 久久精品免费播放| 一二美女精品欧洲| 91精品国产沙发| 欧美中文字幕第一页| 亚洲国产精品女人久久久| 亚洲精品色婷婷福利天堂| 欧美精品手机在线| 久久久在线观看| 欧美成人自拍视频| 粉嫩老牛aⅴ一区二区三区| 中文字幕综合在线| 国产伦精品免费视频| 91精品国产乱码久久久久久久久| 国产精品a久久久久久| 色妞一区二区三区| 亚洲自拍欧美色图| 69久久夜色精品国产69乱青草| 欧美一级黄色网| 成人做爽爽免费视频| 国产精品一区专区欧美日韩| 97国产精品人人爽人人做| 欧美肥臀大乳一区二区免费视频| www.欧美精品一二三区| 亚洲国产精品福利| 中文在线不卡视频| 成人在线观看视频网站| 国产综合色香蕉精品| 国产精品免费视频xxxx| 午夜精品一区二区三区在线播放| 国产精品亚洲片夜色在线| 欧美电影免费播放| 欧美精品18videos性欧| 亚洲香蕉成人av网站在线观看| 日韩精品中文字幕视频在线| 国产精品日韩在线观看| 欧美富婆性猛交| zzjj国产精品一区二区| 欧美成人四级hd版| 日韩中文字幕精品| 日韩中文字幕精品| 国产精品视频最多的网站| 欧美午夜激情小视频| 日韩精品中文字幕视频在线| 国产日产欧美a一级在线| 综合网中文字幕| 亚洲精品永久免费精品| 伊人久久久久久久久久久| 日韩亚洲欧美中文在线| 欧美极品欧美精品欧美视频| 日韩av大片在线| 久久久之久亚州精品露出| 亚洲天堂免费观看| 日韩美女在线看| 欧美亚洲成人免费| 庆余年2免费日韩剧观看大牛| 日av在线播放中文不卡| 国产精品久久久久久搜索| 午夜精品三级视频福利| 亚洲人成电影网站色xx| 久久av.com| 国产精品一区二区三区久久| 国产香蕉一区二区三区在线视频| 日本19禁啪啪免费观看www| 国产精品美女主播在线观看纯欲| 中文字幕日韩电影| 日韩高清电影免费观看完整| 成人性生交xxxxx网站| 欧美一级淫片aaaaaaa视频| 成人黄色激情网| 97视频人免费观看| 亚洲人午夜精品| 日韩成人在线视频网站| 亚洲一区二区精品| 精品久久久91| 欧美精品免费在线观看| 欧美日韩综合视频| www.久久色.com| 久久久精品视频在线观看| 国外日韩电影在线观看| 黑人极品videos精品欧美裸| 日韩欧美在线看| 久久全球大尺度高清视频| 中文国产成人精品久久一| 亚洲高清久久久久久| 日韩有码在线视频| 午夜精品在线观看| 一区二区三区天堂av| 91精品国产91久久久久福利| 色综合视频一区中文字幕| 国产精品日日做人人爱| 亚洲最大的免费| 亚洲va久久久噜噜噜| 韩国19禁主播vip福利视频| 91精品成人久久| 国产成人精品电影久久久| 欧美激情伊人电影| 成人a视频在线观看| 欧美大片在线看免费观看| 日本三级韩国三级久久| 国产精品久久久久久久久久99| 久久精品视频va| 国产丝袜精品第一页| 色小说视频一区| 国产成人福利网站| 欧美精品videossex性护士| 91av在线免费观看视频| 一区二区三区美女xx视频| 日韩精品福利在线| 亚洲性av网站| 性色av一区二区咪爱| 国产69精品久久久| 日韩中文字幕在线看| 欧美大尺度电影在线观看|