MVC+EF+架构设计(二)
2012-06-09 10:53 天涯~ 阅读(2053) 评论(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就能起作用了~
浙公网安备 33010602011771号