MVC+EF+架构设计(二)
2012-06-09 10:53 天涯~ 阅读(2044) 评论(2) 编辑 收藏 举报貌似MVC现在比较热闹,所以,在这个项目中我也采取了MVC,但是MVC的Controller总是包含在站点文件夹中,这个总让我很不爽,至于为什么不爽,个人总感觉Controller是个页面的逻辑部分,一般在以前我们总放在aspx.cs文件中,但是mvc没有这个aspx.cs文件,所以,索性我们把这部分单独出来建立了CinDou.Route这个项目
为了使这个Controller能单独出来,我们必须还要做一些其它的工作:
Step1:在CinDou.Tools中建立
IRegisterRoutes.cs
using System.Web.Routing; namespace CinDou.Tools { interface IRegisterRoutes { void RegisterRoutes(RouteCollection Routes); } }
CinDouRoutes.cs
using System.Web.Routing; using System.Web.Mvc; namespace CinDou.Tools { class CinDouRoutes : IRegisterRoutes { public void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults ); } } }
CinDouApplication.cs
using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace CinDou.Tools { public class CinDouApplication : HttpApplication { protected void Application_Start() { CinDouRoutes pdr = new CinDouRoutes(); AreaRegistration.RegisterAllAreas(); pdr.RegisterRoutes(RouteTable.Routes); } } }
我们在CinDou.Tools中建立好这三个文件后,然后在CinDou.Web中引用这个Dll即可。 同时,我们修改Global.asax文件使其指向我们刚刚建立的CinDouApplication文件。右键点击Global.asax文件,点"查看标记”然后修改为:
<%@ Application Inherits="CinDou.Tools.CinDouApplication" Language="C#" %>
我们在CinDou.Route中创建创建的ProductController就能起作用了~