Asp.NET MVC3添加域(Areas)区分Admin域和用户域
问题
当一个项目中有前台页面和后台页面,即用户页面和管理员页面,.net mvc3 如何控制路由为:Admin/{controller}/{action}/{id}访问的是管理员(Admin)的域,而通过路由:{controller}/{action}/{id}则访问的是用户页面?
解决方案
.net mvc3为我们提供了域(areas)的概念,可以在项目中添加一个管理员域,可以与用户域进行区分。
解决过程
1)首先在已有的mvc项目中添加一个Admin域,右键项目-->添加-->区域,输入区域名(Admin),就会自动生成一个Areas文件夹,里面包含了新建的域(Admin);
2)为管理员域和用户域设置不同的路由,使得当访问Admin/{controller}/{action}/{id}时,访问的是管理员域,而非用户域。
在新建Admin域时,会自动生成一个AdminAreaRegistration.cs文件,这个文件即是为不同的域设置路由,修改如下:
1 public class AdminAreaRegistration : AreaRegistration 2 { 3 public override string AreaName 4 { 5 get 6 { 7 return "Admin"; 8 } 9 } 10 11 public override void RegisterArea(AreaRegistrationContext context) 12 { 13 context.MapRoute( 14 "Admin_default", 15 "Admin/{controller}/{action}/{id}",//Admin路由 16 new { action = "Index", id = UrlParameter.Optional },//默认参数 17 new string[]{"OpenCart.Admin.Controllers"}//**设置该路由所对应的Controller 18 ); 19 } 20 }
并且修改用户域加载时注册的路由,修改如下:
1 public static void RegisterRoutes(RouteCollection routes) 2 { 3 routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 4 5 routes.MapRoute( 6 "Default", // 路由名称 7 "{controller}/{action}/{id}", // 带有参数的 URL 8 new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // 参数默认值 9 new string[]{"OpenCart.Controllers"}//设置域,与Admin区分 10 ); 11 12 }
结果
经过以上设置修改之后,用户域和管理员域就可以区分开来,访问Admin/{controller}/{action}/{id}即访问管理员域,访问{controller}/{action}/{id}即访问用户域。问题得以解决。
转载于:https://www.cnblogs.com/chtang/archive/2013/04/06/3002746.html
Asp.NET MVC3添加域(Areas)区分Admin域和用户域相关推荐
- linux 域账户密码忘记,linux基础命令-用户域用户组管理
//与用户相关的配置文件:/etc/passwd: #用户的配置文件, 保存用户账户的基本信息 /etc/shadow #用户影子口令文件 一.用户帐号文件--passwd 1."/et ...
- [译]Professional ASP.NET MVC3(01)-Chapter 1:Getting Started(上)
本章概要 理解ASP.NET MVC ASP.NET MVC3 预览 如何创建MVC3应用程序 MVC应用程序结构 本章首先简要介绍ASP.NET MVC, 解释它怎样适应ASP.NET MVC的历史 ...
- MVC项目开发中那些用到的知识点(Asp.Net Mvc3.0 Areas)
前言 我们知道MVC项目各部分职责比较清晰,相比较ASP.NET Webform而言,MVC项目的业务逻辑和页面展现较好地分离开来,这样的做法有许多优点,比如可测试,易扩展等等.但是在实际的开发中,随 ...
- ASP.NET MVC3 快速入门--第二节 添加一个控制器
MVC的全称为model-view-controller(模型-视图-控制器).MVC是一种开发应用程序的模式,这个模式已经具有了很好的框架架构,并且十分容易维护.使用MVC开发出来的应用程序一般包括 ...
- ASP.NET MVC3 快速入门-第四节 添加一个模型(转)
在本节中我们将追加一些类来管理数据库中的电影.这些类将成为我们的MVC应用程序中的"模型"部分. 我们将使用一个.NET Framework的被称之为"Entity Fr ...
- 一起谈.NET技术,在ASP.NET MVC3 中利用JSONP跨域登录WEB系统
在信息系统开发的时,根据相关业务逻辑难免会多系统之间互相登录.一般情况下我们需要在多系统之间使用多个用户名和密码.这样客户就需要在多个系统之间重复登陆.每次登录都需要输入用户名和密码.最近比较流行的就 ...
- Log4Net异常日志记录在asp.net mvc3.0的应用
前言 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是简单的介绍如何在Visual ...
- ASP.NET MVC3书店--第七节 用户及身份验证(转)
http://blog.sina.com.cn/s/blog_6ad539a90100r7jx.html 现在的问题是任何用户都可以通过StoreManager控制器来访问我们的书籍管理页面.接下来让 ...
- ASP.NET MVC3 Model验证总结 @Html.ValidationSummary(true)
http://www.wyjexplorer.cn/Post/2012/8/3/model-validation-in-aspnet-mvc3 ASP.NET MVC3中的Model是自验证的,这是通 ...
最新文章
- do while(false)
- python walk_Python os.walk()方法
- 开源车牌识别项目,OpenALPR
- Apache+PHP+MySQL安装与配置
- mysql读写分离实现_脱离开发:Mysql读写分离方案之一
- OpenCV形态学变换函数morphologyEx()开运算的使用
- 在Eigrp做不等值路由的负载均衡
- 已知前序中序求层序 c语言递归,二叉树的遍历:前序,中序,后序,层序--包括递归和非递归实现...
- python访问注册表_Python 操作注册表
- 【05】AngularJS 指令
- SecureCRT 颜色
- 单表查询之选择查询 + 多表查询(2020.3.20 )
- rgba与16进制颜色格式互转
- HTML5CSS3笔记:CSS3选择器、字体和颜色模式
- java实现自动拨打电话语音提示
- eCognition软件中ESP2插件的下载与安装
- Delphi 热键 使用WIN作为热键的组合键 给程序增加快捷键
- 金山现任CEO张宏江将退休 西山居CEO继任
- 企业级数据仓库:数据仓库概述;核心技术框架,数仓理论,数据通道Hive技术框架,HBase设计,系统调度,关系模式范式,ER图,维度建模,星型/雪花/星座模式,数据采集同步,业务数据埋点,数据仓库规范
- 彩绘精灵 ArtRage 6 for Mac绘图软件
热门文章
- 对ActiveRecord的评论
- Web纯前端“旭日图”实现元素周期表
- android 入门 006(sqlite增删改查)
- 返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 Web API
- [原创]一种自动地将继承自NSObject的自定义类序列化成JSON的方法
- 在asp.net2.0中使用串行化对象实现自定义配置
- RollingFileAppender
- 安卓高手之路之PackageManagerservice(二)
- 很有趣的问题,Public继承和默认的集成
- 算法--------最长连续序列(Java版本)