Asp.Net MVC Areas区域说明

一般网站分为前台+会员后台+管理员后台,做过webform的人都会把会员后台页面放在user中,把管理员后台页面放在admin中

会员后台访问:www.xxx.com/user/xxx.aspx

管理员后台访问:www.xxx.com/admin/xxx.aspx

但是很多人到了MVC中不知何去何从,一片迷茫

其实MVC早已为我们想到了一切,那就是Areas(区域)

下边就以新闻系统为例:

1、项目右键-添加-区域

说明:根目录下新增了一个文件夹areas,里边有Admin,Admin里边有MVC的3个文件夹和一个路由设置类

在Admin就可以新建Controller和Action,就像是一个新的mvc项目

2、在区域Admin里新建控制器

在Admin里的Controllers右键新建控制器NewsController,然后访问http://localhost:8080/Admin/News/Create

3、新建区域user

重复第1、2步新建区域user,然后在user里的Controllers右键新建控制器NewsController,然后访问http://localhost:8080/user/News/Create

4、根目录新建控制器

因业务需求,根目录也需要新建控制器NewsController,访问http://localhost:8080/News/Create

说明:发送错误了,大家别着急,这是因为路由无法识别多个命名一样的控制器

5、修改路由RouteConfig.cs

修改路由RouteConfig.cs(根目录App_Start文件夹中),让根据控制器的命名空间执行路由

6、至此,大功告成

访问3个news/create都正常。

时间: 2024-10-09 18:54:54

Asp.Net MVC Areas区域说明的相关文章

asp.net mvc Areas 母版页动态获取数据进行渲染

经常需要将一些通用的页面元素抽离出来制作成母版页,但是这里的元素一般都是些基本元素,即不需要 进行后台数据交换的基本数据,但是对于一些需要通过后台查询的数据,我们应该怎么传递给前台的母版页呢 这里描述的是对于多个页面统一的数据部分,即多个页面中均保持一致且与各个页面无其他关系的页面, 虽然我们可以通过razor使用C#语言来获取数据并写入页面中,但这就违背我们view中尽可能不处理数据的意愿了 所以给出的解决方案是,通过ViewBag将需要的数据写入页面中,将读取数据的操作提取到baseCont

Asp.Net Mvc Areas 的用法与好处

前言 在项目中为什么要使用Areas 进行分离 大家都知道,一般的Web应用都有前台(面向用户)和后台(面向管理员)两部分,我们希望以/localhost/Admin 开始的Url 是用户的后台管理地址,因此我们会这么配置自己的路由图. routes.MapRoute( name: "Admin", url: "Admin/{controller}/{action}/{id}", defaults: new { controller = "Home&quo

ASP.NET MVC 设置区域默认定向

public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "m_default", "m/{controller}/{action}/{id}", //设置区域下的默认的跳转 new { Controller="Home",action = "Index", id = UrlParameter.Optional

ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步

一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area). 在项目上右击创建新的区域,可以让我们的项目不至于太复杂而导致管理混乱.有了区域后,每个模块的页面都放入相应的区域内进行管理很方便.例如:上图中有两个模块,一个是Admin模块,另一个是Product模块,所有关于这两个模块的控制器.Model以及视图都放入各自的模块内.可以从上图中看出,区域的功能类似一个小的MVC项

ASP.Net MVC开发基础学习笔记:五、区域、模板页与WebAPI初步

一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area). 在项目上右击创建新的区域,可以让我们的项目不至于太复杂而导致管理混乱.有了区域后,每个模块的页面都放入相应的区域内进行管理很方便.例如:上图中有两个模块,一个是Admin模块,另一个是Product模块,所有关于这两个模块的控制器.Model以及视图都放入各自的模块内.可以从上图中看出,区域的功能类似一个小的MVC项

ASP.NET MVC使用Areas后怎样获取Area(区域)的名称

写此随笔,目的只为今后在ASP.NET MVC项目中再用到Area(区域)时作为备查. 获取当前Area(区域)名称的方法是: ViewContext.RouteData.DataTokens["area"] 这样,我就可以通过下面三个语句,分别获取用户当前访问的Area.Controller和Action string areaName = filterContext.RouteData.DataTokens["area"] == null ? "&qu

asp.net MVC把Areas区域绑定成二级域名

先分析需求 在MVC项目中,我们如果有两个Areas.比如Test和DEMO.我们的访问地址应该是 http://localhost:8098/test http://localhost:8098/demo 如果我们绑定域名后想实现这样访问 http://test.abc.com:8098/ http://demo.abc.com:8098/ 这个问题的相关解决办法倒是不少,比如http://www.cnblogs.com/jobily/archive/2011/10/09/2204800.ht

26、ASP.NET MVC入门到精通——后台管理区域及分离、Js压缩、css、jquery扩展

本系列目录:ASP.NET MVC4入门到精通系列目录汇总 有好一段时间没更新博文了,最近在忙两件事:1.看书,学习中...2.为公司年会节目做准备,由于许久没有练习双截棍了,难免生疏,所以现在临时抱佛脚.深圳最近的天气反常,许多人感冒了,我也成为其中之一,大家注意身体... 这一篇,我来简单的讲一下接下来项目中会用到的一些杂七杂八的技术. 区域及分离 在15.ASP.NET MVC入门到精通——MVC-路由中,我已经简要说明了区域的分离. 1.右键单击Web项目,“添加”——“区域”,区域名,

使用Areas分离ASP.NET MVC项目

为什么需要分离? 我们知道MVC项目各部分职责比较清晰,相比较ASP.NET Webform而言,MVC项目的业务逻辑和页面展现较好地分离开来,这样的做法有许多优点,比如可测试,易扩展等等.但是在实际的开发中,随着项目规模的不断扩大,Controller控制器也随之不断增多.如果在Controllers文件夹下面有超过两位数controller,即便采用良好的命名规范,或者用子文件夹的形式区分不同功能的控制器,还是会影响项目的可阅读性和可维护性.因此,在一些场景下,如果能把与某功能相关的文件分离