zoukankan      html  css  js  c++  java
  • MVC View与Controller分离

    新建了一个 Separate 解决方案, 如下图

     

    Separate.UI    UI层。 引用 Separate.Home

    Separate.Home 把Home控制器分享到 一个类库中 并引用(System.Web/System.Web.Mvc 程序集)

    UI层 添加 区域 Home,然后就可以删除 其区域 Home 的Controllers 目录了。

    复制 区域注册文件 到 HomeAreaRegistration.cs并修改其命名空间,并删除UI层的 区域注册文件。

    这里的是

    using System.Web.Mvc;
    
    namespace Separate.Home
    {
        public class HomeAreaRegistration : AreaRegistration
        {
            public override string AreaName
            {
                get
                {
                    return "Home";
                }
            }
    
            public override void RegisterArea(AreaRegistrationContext context)
            {
                context.MapRoute(
                    "Home_default",
                    "Home/{controller}/{action}/{id}",
                    new { action = "Index", id = UrlParameter.Optional }
                );
            }
        }
    }

    视图放在 UI层的  Areas/区域名/Views/控制器名  下面。

    然后访问

     

    Separate.Home  创建 AdminController.cs

    using System.Web.Mvc;
    
    namespace Separate.Home
    {
        public class AdminController : Controller
        {
            public ActionResult About()
            {
                return View();
            }
    
        }
    }

    在UI层    Separate.UI /Areas/Home/ Views/ Admin(此文件夹要手动创建) 下添加 视图

    @{
        ViewBag.Title = "About";
    }
    
    <h2>我是Admin下的About</h2>

    然后访问

     

    PS:

    Areas/View/Controller 视图只要放web.config 其视图,就可以被解析

     

    Areas 内的模板 不继承于 主模板

  • 相关阅读:
    SQL 查询当前时间
    request,reponse对象中的方法
    如何在JSP中获得Cookie对象
    JSP的执行原理
    ModelState查看错误字段的信息
    sql privot 实现行转列
    设计模式
    mvc未登录跳转到登录界面
    log4net
    IoC, DI,Spring.net
  • 原文地址:https://www.cnblogs.com/likehc/p/6368414.html
Copyright © 2011-2022 走看看