Fork me on GitHub

VS2010+EF Code First 4.1学习MVC3(二)

在MVC中,Area使我们的业务逻辑更加清晰,为我们后期的维护带来了极大的便利,那么今天我就来啃啃这一块的东西,可以很方便的替代UrlRouting的一些功能哦~~

Let’s go

.

从上图我们可以看到,新增了Admin和User两个Area,在创建第一个的时候,VS会自动创建一个Areas文件夹。如上图。

 

我们在User/Controllers上面右键新建一个名为UserController的文件

如下图:

OK,我们可以看到前台和后天都有一个UserController,那么运行会怎么样呢?我们来看看:

Oh,my god.它居然报错了!!!

那么我们应该怎么来处理呢?

第一种:最简单快速的方法修改路由设置

复制代码
用区域User作用样例
 1 namespace Web.Areas.User
 2 {
 3     public class UserAreaRegistration : AreaRegistration
 4     {
 5         public override string AreaName
 6         {
 7             get
 8             {
 9                 return "User";
10             }
11         }
12 
13         public override void RegisterArea(AreaRegistrationContext context)
14         {
15             context.MapRoute(
16                 "User_default",
17                 "User/{controller}/{action}/{id}",
18                 new { controller = "User", action = "UserList", id = UrlParameter.Optional },
19                 new string[] { "Web.Areas.User.Controllers" }
20             );
21         }
22     }
23 }
复制代码

同时修改Global文件中的路由信息

1 routes.MapRoute(
2                 "Default", // 路由名称
3                 "{controller}/{action}/{id}", // 带有参数的 URL
4                 new { controller = "user", action = "UserList", id = UrlParameter.Optional },// 参数默认值
5                 new string[] { "Web.Controllers" }//这里是主要注意的地方!!!!
6 
7             );

因为我这是前台的web这和区域中的出现重名Controller。所以改Global,如果你在项目开始的时候已经定义好了Area,那么只需要

更改Area中的XXXAreaRegistration.cs文件就OK了。

来看看我们修改以后的效果吧,是否好了呢?

因为我们默认的Action是列表页面,所以直接打开就是这个页面了~~

 

好了,就先到这里,后面我会继续深入研究Area下。大家一起进步吧~~

posted @   IsaacZhang  阅读(601)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示