长期饭票

大家好,请喊我序员!
QQ:15838986
posts - 124, comments - 22, trackbacks - 0, articles - 0
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[转]Asp.net MVC 3使用 Area 小结

Posted on 2012-08-20 10:45  Baode  阅读(197)  评论(0编辑  收藏

原文发表在:http://www.birchlee.com/post/2011/10/12/15.aspx

项目分为三个首页

如: /Home/Index 前台首页

/Admin/Home/Index 后台首页

/OA/Home/Index 办公平台首页

新建一个asp.net MVC3 示例项目: 右键 →添加→Area

prj

直接运行项目:error

原因是存在同名的多个Controller,需要配置默认的命名空间。解决方法:

打开Global.asax.cs

public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },// Parameter defaults
new[] { "Web.Controllers" }// Namespaces 引入默认的命名空间
);

}

http://localhost:49849/ 运行后输出 Home/Index

http://localhost:49849/Admin/Home/Index 运行后输出 Admin/Home/Index

http://localhost:49849/OA/Home/Index 运行后输出 OA/Home/Index

更改路径:

http://localhost:49849/Admin/后报404错误

原因是 Area下面的Admin没有配置默认的 Controller造成的,解决方法:

打开 Area下Admin下 AdminAreaRegistration.cs

new { controller = "Home", action = "Index", id = UrlParameter.Optional }

加上默认的Controller即可。

在此抛砖引玉了。