MVC区域小结

MVC区域小结

MVC3一直在学习,项目中有的时候也会用到,博客园也一直逛,想写点什么东西,可惜我这个人平时都很懒,理论层面的东西自己写不来,还是来点实际的简单入门的博客,对自己总结能力是一种提升,当然也希望对没有使用过区域的人有所帮助。

为什么要有区域?

MVC本身提倡的就是关注点分离,控制器控制业务逻辑,模型用于读取数据,视展示展示页面,这样不管是对于开发者本身还是对于后来维护项目的开发者来说都是有极大好处的,能很开熟悉项目的业务,而不会像层次不清晰,代码不规范,逻辑混乱的项目,提升开发效率。但是当项目本身的业务逻辑足够复杂,如果所有的业务逻辑都写个Controller文件夹下面的时候,你会看到非常庞大的各种命名的Controller,这个时候区域的作用就显示出来了,你可以一个业务逻辑对应一个文件夹,非常实用,简单明了.

如何写区域?

右击自己的MVC项目->添加->区域,写一下自己的区域名称,然后结果如下图所示:

生成的Login文件夹在Areas下面,而且帮助我们生成了一个LoginAreaRegitrations.cs的类文件,这个有什么作用接下来再说,先建立LoginInfo的控制器来看下效果:

如何处理区域控制器重名?

如果在区域控制器下面建立一个Home控制器,Controller文件夹下面如果也有一个Home控制控制器这个时候会冲突如果所示:

解决的方法很简单,就是在区域控制的刚才我们看到的那个LoginAreaRegitrations.cs中的RegisterArea方法中加一下控制的命名空间

同样也可以另外一个重名重名的在相对应的路由位置添加相对应的命名空间~

代码自己写起来很简单,真的要是写成博客还是需要费点时间,接触的东西倒是挺多的,高深的自己目前也写不来,自己没事写点基础的东西,锻炼自己的同时也希望能够帮助到大家~周一好心情~

MVC区域小结的更多相关文章

  1. MVC区域 视图必须派生自 WebViewPage 或 WebViewPage<TModel>

    http://blog.csdn.net/iack_ji/article/details/16965885 今天在学习 mvc区域时,将区域控制器类 外迁到其他的程序集的练习中出现了"视图必 ...

  2. 将子域名请求路由到MVC区域

    写了个扩展,分享给需要的朋友. 0x01 使用方法 在mvc区域中的{xxxx}AreaRegistration.cs文件中,如ProjectsAreaRegistration.cs <pre& ...

  3. MVC 区域路

    VS2013和VS2015中MVC 区域路由匹配顺序相反   创建测试工程 分别在vs2013和vs2015中创建mvc项目,并创建First.Second.Three三个Area,每个Area下面创 ...

  4. mvc路由,mvc区域

    1.路由在进行匹配时,会默认匹配第一个路由信息 2.路由规则的{control}和{action}时不能改变的 3.路由规则可以中间字符可以随便定义,但是{control}和{action}必须使用一 ...

  5. MVC 区域功能

    因为MVC项目是要求都放在固定的文件夹,所以,当项目大的时候,会很不方便管理,所以微软引入的区域的功能 使用方法: 在项目上右击--添加--区域 就会出现Areas的文件夹,里面就是子MVC 渲染: ...

  6. MVC区域使用

    新建项目 Main: 添加一个MVC5控制器并添加index视图:(HomeController) Views/Home/Index.cshtml内容: @{ Layout = null; } < ...

  7. MVC 区域模块

    mvc4.0新增的area区域机制,可以协助你在架构较为大型的项目,让独立性较高的部分功能独立成一个MVC子网站,以降低网站与网站之间的耦合性,也可以通过area的切割,让多人同时开发同一个项目时候, ...

  8. MVC教程:MVC区域路由

    一.区域路由 为了管理网站中大量的文件,在ASP.NET MVC 2.0版本中引入了一个新概念:区域(Area). 有了区域以后,可以让我们的项目不至于太复杂而导致管理混乱.每个模块的页面都放入相应的 ...

  9. ASP.NET MVC ModelValidator小结

    当用户通过UI输入数据向程序交互时,都会出现一个潜在的错误,数据错误,要检查用户提交的数据是否正确,需要做数据验证,在ASP.NET MVC中,每当Action执行前都会对传入Action的Model ...

随机推荐

  1. C# 合并DLL, 合并DLL进入EXE

    原文:C# 合并DLL, 合并DLL进入EXE 使用方法非常简单 在项目属性窗口中,选择"生成事件",在"生成后事件命令行"下的文本框中输入 ilmerge / ...

  2. STUN协议简介

    STUN简要 STUN(Simple Traversal of UDP over NATs,NAT 的UDP简单穿越)是一种网络协议.它同意位于NAT(或多重NAT)后的client找出自己的公网地址 ...

  3. GPS坐标互转:WGS-84(GPS)、GCJ-02(Google地图)、BD-09(百度地图)[转]

    WGS-84:是国际标准,GPS坐标(Google Earth使用.或者GPS模块)GCJ-02:中国坐标偏移标准,Google Map.高德.腾讯使用BD-09:百度坐标偏移标准,Baidu Map ...

  4. C++ friend 用法汇总

    C++这位朋友同意之类的非公共成员的机制是一个类或函数访问,根据朋友的类型分为三种类型:一般非类成员函数为好友,类成员函数为好友.类为好友. 1 内容朋友 包括报表朋友的朋友以及朋友的定义.明默的感觉 ...

  5. 【Flume NG用户指南】(2)构造

    作者:周邦涛(Timen) Email:zhoubangtao@gmail.com 转载请注明出处:  http://blog.csdn.net/zhoubangtao/article/details ...

  6. NYoj WAJUEJI which home strong!(简单搜索)

    题目链接:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=1100 这道题,自己初写搜索,给学长气的只打我,Orz....... 搜索的思路要理 ...

  7. JavaScript模块化编程之require.js与sea.js

    为什么要模块化:当今,网站以不再是一个简单的页面,JavaScript也不再是做一些简单的脚本验证,随着WEB.20时代到来,前端工程师面临的必将是越来越庞大的JavaScript代码,越来越复杂的内 ...

  8. iOS开发分析&quot;秘密&quot;App内容页面的效果(两)

    @我前几天写的"秘密"的Cell制品的效果,想要的效果还是有差距,并且扩展性非常不好,于是重写封装,把总体视图都放到scrollView中,基本是和secret app 一模一样的 ...

  9. Android Application.java以及它的作用

    What is Application Application和Activity,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application ...

  10. 通过SMTP协议来发送邮件

    简单邮件传输协议 (Simple Mail Transfer Protocol, SMTP) 是事实上的在Internet传输email的标准. SMTP是一个相对简单的基于文本的协议.在其之上指定了 ...