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 内的模板 不继承于 主模板

  • 相关阅读:
    for 循环、序列和range()
    Python 中的 / 运算符的一切运算结果都是浮点数
    web如何测试
    性能测试中会遇到的瓶颈
    APP测试之内存命令查询
    接口测试常见的题目
    接口测试基础知识
    异或和之和 异或问题
    DP?
    Matrix Power Series
  • 原文地址:https://www.cnblogs.com/likehc/p/6368414.html
Copyright © 2011-2022 走看看