ASP.NET MVC- Area 使用】的更多相关文章

环境说明:Vistual Studio 2013 MVC 4.0 其实关于ASP.NET MVC Area使用的基础知识可以参考 http://www.cnblogs.com/willick/p/3331519.html 这篇软文. Global.asax 中的 Application_Start 方法里面有这样一句代码 AreaRegistration.RegisterAllAreas(); 估计: 它的作用会到当前MVC 所在的bin中动态注入继承了 AreaRegistration的类,…
MVC提供Area机制,在同一个项目之内就能够切割出不同的ASP.NET MVC网站. 插入:首先在相同的位置,比如说同一个文件夹(如:Controllers)是不能创建俩个相同名称的文件(如:HomeController),其次在不同的文件夹中如fold1和fold2,中各自创建一个TestController,程序能够通过编译,但当浏览器视图执行/Test时,网站报出异常,如图: 因为在默认情况下,路由会同时匹配两个controller,造成无法访问. 在项目上,右键,创建区域,问题解决.…
妈的,今天去携程面试,技术面了三轮,竟然让我走了,没有然后了,你不要老子,干嘛还面那么多轮,害的老子一上午的时间没了,气死我了. 好了,总结下面试中的问题吧, 1.GC 2.设计模式 3.做过的项目的目录结构,及Area 4.其他的.net基础和项目经验 ...... Asp.net Areas不太了解,所有这篇文章,重点学习Areas的作用. ASP.NET MVC中,是依靠某些文件夹以及类的固定命名规则去组织model实体层,views视图层和控制层的.如果是大规模的应用程序,经常会由不同功…
经常需要描述这样的项目结构 ~:. //web根目录├─.admin   //管理员功能目录│  └─index.html    //管理员目录页面├─.user                  //用户功能目录│  └─index.html      //用户功能目录└─index.html          //首页 在普通的mvc之下,我们需要将每个controller和view都写在固定的页面中,这样所有的文件都堆砌在这两个目录中, 对于普通的小型项目,这样或许是比较方便的解决方案,但…
大型网站或项目通常有很多子系统或功能模块,如大型网站可能包含酒店.旅游.机票子系统,通过二级域名来访问,或者一个网站的前台和后台模块,每个团队负责某一子系统或模块,为了各团队进行协同开发,我们可以分不同的MVC项目,或使用区域Area进行隔离,Ares相当于一个大项目中的独立小项目,每一个Area都有独立的Controller,View文件结构,互不影响,易于项目维护和管理. 路由注册时候为了避免相同控制器和Action冲突,要定义命名空间.例如区域中和默认的都有HomeController的I…
MVC中的Area的区域的时候,在一个Area中定义了一个Home控制器,在启动的时候, 找到多个与名为"Home"的控制器匹配的类型.如果为此请求("{controller}/{action}/{id}")提供服务的路由在搜索匹配此请求的控制器时没有指定命名空间, 则会发生此情况.如果是这样,请通过调用含有"namespaces"参数的"MapRoute"方法的重载来注册此路由. 在网上找了相关的解决方案,给大家分享一下,如…
参考:https://blog.maartenballiauw.be/post/2009/05/20/aspnet-mvc-domain-routing.html 参考:https://www.cnblogs.com/Showshare/p/multidomain-to-onesite-subdomain-to-area-by-routing.html 适当使用反编译工具查看 Route 的源码 主要类 DomainData.cs namespace DomainMvcTest.Core { p…
1. Area简介 ASP.NET MVC Area机制构建项目,可以将相对独立的功能模块切割划分,降低项目的耦合度. 2. Area设置Routing 新建Admin Area后,自动创建AdminAreaRegistration.cs,用于设置Area Routing. using System.Web.Mvc; namespace Libing.Portal.Web.Areas.Admin { public class AdminAreaRegistration : AreaRegistr…
1. 系统常见的分层 在开发asp.net mvc应用的时候,visual studio 给我们创建了默认的文档结构,一般情况下我们在一个项目下工作,参考微软的官方例子:ContosoUniversity.sln 一般情况下我们可以将DAL单独出来作为一个项目,最多还加一个接口Layer的项目,构成了简单的三层架构模式.或者跟进一步讲一部分业务独立出来成为一个Business 层.分离出来的好处,相信大家都有体会: 1. 独立出来的Layer或说组件,便于替换.特别是通过接口层的引入后,能够做到…
ASP.NET MVC Area操作 新建 Area:右键 -> Add –> Area 继承 AreaRegistration,重写AreaName属性与RegisterArea方法 public class BookStudyAreaRegistration : AreaRegistration { public override string AreaName { get { return "BookStudy"; } } public override void R…
ASP.NET MVC 使用MSBuild部署的几个注意事项 做新项目,当时参考NopCommerce的结构,后台Nop.Admin是一个独立的Area Web Site,但部署的时候发现,使用一键发布,Admin Area会丢失. 研究了下NopCommerce的做法,使用MSBuild组织文件结构,关键的地方在下面: <!--Now lets publish Nop.Admin--> <MSBuild Projects="$(RootFolder)\Presentation…
ASP.NET MVC Area => Areas View 引用 外部母版视图 创建项目:MVCSite.Area 创建mvc area 1.Areas View 引用 外部母版视图 1.1 将Areas View 下    web.config  移到Areas  下 1.2 MVCSite.Area View   下  _ViewStart.cshtml  移到  admin 下 END…
ASP.NET MVC允许使用 Area(区域)来组织Web应用程序,每个Area代表应用程序的不同功能模块.这对于大的工程非常有用,Area 使每个功能模块都有各自的文件夹,文件夹中有自己的Controller.View和Model,但对于管理也增加了一定的难度. 本文目录 创建Area 右键工程选择 添加->区域,弹出如下填写Area的对话框: 点击添加后,工程目录结构如下: 和创建一个空MVC工程结构类似,Admin Area 有自己的 Controllers.Models 和 Views…
写此随笔,目的只为今后在ASP.NET MVC项目中再用到Area(区域)时作为备查. 获取当前Area(区域)名称的方法是: ViewContext.RouteData.DataTokens["area"] 这样,我就可以通过下面三个语句,分别获取用户当前访问的Area.Controller和Action string areaName = filterContext.RouteData.DataTokens["area"] == null ? "&qu…
Asp.net MVC 4新项目中创建area后,往往HomeController与area的HomeController路由发生混淆,需要手工设置一些地方避免mvc无法识别默认路由的状况. 无废话具体步骤: 1. 检查早Global.asax和\App_Start\RouteConfig.cs中是否已经自动添加了AreaRegistration.RegisterAllAreas();如不存在,进入第2步,否则第3步 2. 在\App_Start\RouteConfig.cs中,添加AreaRe…
前言: 这段时间小猪花了不少功夫在研究ASP.NET MVC的源码上面,可谓思想是了解了不少,用的上用不上却是另外一回事了.! 应用场景: ASP.NET MVC中,是依靠某些文件夹以及类的固定命名规则去组织model实体层,views视图层和控制层的.如果是大规模的应用程序,经常会由不同功能的模块组成,而每个功能模块都由MVC中的三层所构成,因此,随着应用程序规模的增大,如何组织这些不同功能模块中的MVC三层的目录结构,有时对开发者来说显得是种负担. 另一个问题就是Controller不允許有…
ASP.Net MVC 中配置Route的时候可以设置一个默认的Route. 比如我要在输入http://localhost的时候默认进入http://localhost/home/index.可以在Global.asax中这么配置: routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = &qu…
ASP.NET MVC中Area的另一种用法 [摘要]本文只是为一行代码而分享 context.MapRoute("API", "api/{controller}/{action}", new { }, newstring[] { "CNBlogs.UcHome.Web.Controllers.Api" }); 我们在ASP.NET MVC中使用Area时通常这么干: 在Web项目中创建Areas文件夹,在其中创建对应的Area文件夹,在其下创建…
此博客全乘抄袭,只为以后自己能再次用到 参考链接 http://www.cnblogs.com/willick/p/3331519.html ASP.NET MVC允许使用 Area(区域)来组织Web应用程序,每个Area代表应用程序的不同功能模块.这对于大的工程非常有用,Area 使每个功能模块都有各自的文件夹,文件夹中有自己的Controller.View和Model,但对于管理也增加了一定的难度. 本文目录 创建Area 右键工程选择 添加->区域,弹出如下填写Area的对话框: 点击添…
本文参考:http://www.cnblogs.com/willick/p/3331519.html 1.ASP.NET MVC允许使用 Area(区域)来组织Web应用程序,这对于大的工程非常有用,每个Area代表应用程序的不同功能模块.Area 使每个功能模块都有各自的文件夹,文件夹中有自己的Controller.View和Model. 2.新建一个Area,和一个空的MVC程序一样,只是多了一个继承自AreaRegistration的类,该类如下: public class MyAreaA…
之前的My Blog提供了列表的展示和文章显示功能,但是所有数据仍然只能通过数据库录入,为了完成最初的角色“作者”的用例,本章将介绍如何使用“Area”实现My Blog的管理功能. 根据功能分离代码 根据功能分离代码即所谓的模块,由于在My Blog中已经存在博客查看功能,而管理功能与查看功能是有区别的,所以在开发时也应考虑将它们的代码进行区分,以便于阅读和管理.而区分代码最常用的就是通过子目录将它们区分,如下: 在Controllers.Models和Views目录下创建Admin子目录,但…
在大型的ASP.NET mvc5项目中一般都有许多个功能模块,这些功能模块可以用Area(中文翻译为区域)把它们分离开来,比如:Admin,Customer,Bill.ASP.NET MVC项目中把各个功能分为不同Area的之后每一个Area都有独立的Controller,View文件结构.这样可以把这些功能分给不同的开发者同时开发而彼此之间不会冲突,这样的文件结构各司其职,直观明了,易于维护和管理.下面我们看看怎么在ASP.NET MVC5中创建一个Area和Area直接之间链接的处理. 一.…
今天在工作要实现这个多级area.其原因是这个项目需要多级的功能,大的类别里有小的类别,小的类别里有具体的功能项,每一个功能项还有若干动作Action,所以在菜单和mvc工程的结构上都需要有体现多级的元素,菜单是用的accordion,每一个大类就是accordion的一个pane,然后每一个小类就是用一个表格来表示的,每一个功能就是用单元格加一个链接来表示的.在网站目录结构上,area可以很方便地实现一级的目录结构,比如可以有admin, backoffice, logging, busine…
背景 本文假设您已经熟悉了 ASP.NET MVC 的常规开发方式.执行模型和关键扩展点,这里主要说一下如何使用 ASP.NET MVC 的源代码解决一些问题. 如何将 Area 中的 Controller 放到独立的程序集? 为了更好的组合代码,我们都会使用 Area 划分我们的项目,也会把 Controller 移动到独立的程序集,多数情况这回导致问题. 项目结构 问题出现在哪里了? 初步原因分析是 DefaultController 的 Namespace 不匹配 TestAreaRegi…
对于一个较大规模的Web应用,我们可以从功能上通过Area将其划分为较小的单元.每个Area相当于一个独立的子系统,具有一套包含Models.Views和Controller在内的目录结构和配置文件.一般来说,每个Area具有各自的路由规则(URL模版上一般会体现Area的名称),而基于Area的路由映射通过AreaRegistration进行注册. 一.创建Areas 右键工程 -> 添加->区域 添加后生成一套包含Models.Views和Controller在内的目录结构和配置文件:只是…
在这一章中,我们将学习如何使用基架快速搭建和运行一个简单的Microsoft ASP.NET MVC Web站点.在我们马上投入学习和编码之前,我们首先了解一些有关ASP.NET MVC和Entity Framework的背景信息,然后再详细学习如何搭建开发环境. 1.1 MVC和ASP.NET MVC 这本书涵盖Microsoft版本的MVC,即ASP.NET MVC.在写本书的时候,ASP.NET MVC的生产版本为MVC5,因此,本书的示例代码都使用ASP.NET MVC 5编写.在本书中…
什么叫架构?揭开架构神秘的面纱,无非就是:分层+模块化.任意复杂的架构,你也会发现架构师也就做了这两件事. 本文将会全面的介绍我们团队在模块化设计方面取得的经验.之所以加了“全面”二字,是因为本文的内容将会涉及到:数据库.路由.C#.JavaScript.CSS.HTML等一个完整模块所需要的内容. 在阅读本文之前后,你也可以转到我们的开源项目:https://github.com/leotsai/mvcsolution.这个开源项目完整的总结了我们团队在ASP.NET MVC领域的分层架构思想…
MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC.小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想要学习ASP.NET MVC技术的学习者提供一个整合学习入口.本文从Why,What,How三个角度整理MVC 的学习资源,让学习者第一时间找到最有价值的文章,获取最彻底的ASp.NET MVC 框架知识,Let’s go! 1. Why :为什么需要ASP.NET MVC 本章主要为大家汇总了为什么学习Asp.net MVC替代WebForms,产生ASP.NET…
参考书籍:<ASP.NET MVC 4 高级编程>.<ASP.NET MVC 5 高级编程>.<C#高级编程(第8版)>.<使用ASP.NET MVC开发企业及应用>.度娘谷歌等. 前言: 前一篇只简单的介绍了ASP.NET和ASP.NET MVC,有朋友说要点干货.好吧.那就来点干货. 正好我也是真心想系统性的整整MVC4和5,以前也没有深入弄过,所以这次我也是豁出去了,相关的书都入手了,只求最精. 人家双11都是买吃的喝的用的装逼的.咱们这些程序员却..…
PS: 唉,这篇随笔国庆(2015年)放假前几天开始的,放完假回来正好又赶上年底,公司各种破事儿. 这尼玛都写跨年了都,真服了.(=_=#) 好几次不想写了都. 可是又不想浪费这么多,狠不下心删除.没办法,慢慢补齐发出来吧.唉. 大家喜欢的别忘了支持一下,谢谢我猿友们.呵呵. 视图 本篇目录: 1. 前言 2. 视图的作用 3. 视图的基础知识 4. 理解视图约定 5. 强类型视图 5.1 ViewBag的不足 5.2 理解ViewBag.ViewData和ViewDataDictionary1…