標籤:種類 lsp border div 實現 builder name book param
在、ASP.NET MVC的開發中,我們建立完項目之後,ASP.NET MVC是已Model-Controller-View的形式存在的,在建立項目自動產生的內容上Model我們很容易分離成類庫,所以這裡不予說明,那麼這時候我們就像Controller是不是也能夠分離出去呢?答案是肯定的,下面我們探討一下Controller如何分離出去。
這裡我提供兩種分離的方法,一是重寫方法繼承自IControllerFactory介面,實現裡面的方法,二是MVC提供了直接在路由註冊裡面去控制控制器的書寫,下面就這兩種類型簡單貼一下代碼。
第一種方法
代碼如下:當寫完代碼之後再路由中註冊。提示:實現完成之後必須在路由規則方法(RegisterRoutes)裡面進行註冊,註冊代碼如下:
ControllerBuilder.Current.SetControllerFactory(new ControllersFactory("BookSystem_Controllers")); //BookSystem_Controllers為控制器的類庫
第二種方法
路由註冊方法代碼如下:缺點是,如果有多個註冊路由的規則,都必須記得添加namespaces屬性,否則會出現錯誤
?
| 1234567 |
//系統預設路由routes.MapRoute(name: "Default",url: "{controller}/{action}/{id}",defaults: new {controller = "Login", action = "Index", id = UrlParameter.Optional},namespaces: new string[] {"BookSystem_Controllers"}); |
後面一種方法簡單好用,後面只要指定對於的名空間就可以了,第一種沒試過。
【轉】.NET MVC控制器分離到類庫的方法