在、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属性,否则会出现错误

?
1
2
3
4
5
6
7
//系统默认路由
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new {controller = "Login", action = "Index", id = UrlParameter.Optional},
namespaces: new string[] {"BookSystem_Controllers"}
);

后面一种方法简单好用,后面只要指定对于的名空间就可以了,第一种没试过。

最新文章

  1. day1学习
  2. awk改变了OFS,$0却没变化
  3. -g vs -rdynamic
  4. 常用myeclipse的快捷键,对菜鸟超有用的
  5. 数据结构:HDU 2993 MAX Average Problem
  6. Google地图,Baidu地图数据供应商
  7. android studio 怎么将项目打包成apk文件
  8. Spring学习之AOP与事务
  9. 驰骋工作流引擎 -Webservice接口说明文档
  10. Python内置函数(13)——complex
  11. 一统江湖的大前端(4)shell.js——穿上马甲我照样认识你
  12. Linux 命令详解(十二)Systemd 入门教程:使用定时器发送邮件(mail)
  13. IDEA修改JDK(全)
  14. ubuntu 安装SSH并设置免密码登录
  15. struts建立工程helloworld
  16. netcore 2.0 部署 到iis
  17. JS的正则表达式简介
  18. numpy中的argpartition
  19. forget word out2
  20. php不重新编译,安装未安装过的扩展,如curl扩展

热门文章

  1. 【代码笔记】iOS-底下滚动,上面标题栏也会跟着变动
  2. 学习Coding-iOS开源项目日志(四)
  3. php 图片上传 使用微秒做文件名
  4. IntelliJ IDEA 12.1.4 解决中文乱码
  5. yii2搭建完美后台并实现rbac权限控制案例教程
  6. BIEE 目录迁移(文件夹)方式
  7. Java for XML: JAXP、JAXB、JAXM、JAX-RPC、JAX-WS
  8. mysql-5 数据检索(3)
  9. SQL查询数据库中所有指定类型的字段名称和所在的表名
  10. innoDB源码分析--缓冲池