MVC学习1-实现Model—Controller—View分离

有人会问:为什么要实现分离?小项目就不需要进行分离,但是大项目最好还是分离的好,层次更鲜明,看着比较舒服。

结构如下

首要要先建立一个MvcApplication项目,然后新建项添加yang.Leave.Mvc,和yang.Leave.Core类库,并且引用到Web中,然后在web的views中添加文件夹User,并在Mvc下的Controllers添加相应的UserController

然后在Core中添加Helper文件夹和Routeing文件夹,主要是为了匹配路由

在Routing新建一个IRgisterRoutes接口,很简单的代码

    interface IRegisterRoutes
    {
        void RegisterRoutes(RouteCollection Routes);
    }

然后新建LeRoutes继承该接口

   public  class LeRoutes:IRegisterRoutes
    {
       public void RegisterRoutes(RouteCollection Routes)
       {
           Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

           Routes.MapRoute(
               "User", // Route name
               "{controller}/{action}/{id}", // URL with parameters
               new { controller = "User", action = "Login", id = UrlParameter.Optional } // Parameter defaults
           );
       }
    }

然后在Helper文件夹下新建一个GlobalApplication 代码也很简单,但需要继承与HttpApplication,并启动

   public  class GlobalApplication:HttpApplication
    {
        protected void Application_Start()
        {
            yang.Leave.Core.Routing.LeRoutes le = new yang.Leave.Core.Routing.LeRoutes();
            AreaRegistration.RegisterAllAreas();
            le.RegisterRoutes(RouteTable.Routes);
        }

    }

 

配置好了之后启动会启动Views/User/Login

需要注意的是在Web中需要添加上面两个类库的引用

上面的两个类库需要引用System.Web.Mvc及Syste.Web.Routing

还有最重要是一点就是要将Global.asax的标记定位到GlobalApplication

将原来的替换成<%@ Application Inherits="yang.Leave.Core.Helper.GlobalApplication" Language="C#" %>

这样才能启动Helper下的GlobalApplication

启动后的效果图


只是随便测试了一下,功能不多,只是希望能对初学者有所帮助,谢谢大家

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值