MVC3.0映射多个一级目录的问题,望高手解答

dream00 2011-12-27 10:02:03
我所知道的mvc路径映射是这样的
"{controller}/{action}/{id}"
转成网址的话是
http://localhost:333/Home/Index/aaa

这里就产生了一个问题 Home 这个控制器名称必须是固定的。。

但我有50个栏目,,我都想以一级目录的形式访问(网址如:http://localhost:333/aaa,http://localhost:333/bbb),每个栏目的名称肯定是不一样的,这样按照上面的方法我不是要建50个不同的控制器,很明显不现实。

请问高手,怎么把多个一级目录映射到一个控制器呢。
...全文
52 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jefth 2011-12-27
  • 打赏
  • 举报
回复
修正下,,是Areas 。。。。
jefth 2011-12-27
  • 打赏
  • 举报
回复
貌似MVC2之后,有新增一个叫 Area 的东西,,在那里面去处理咯~~
骑猪看海 2011-12-27
  • 打赏
  • 举报
回复
添加区域(area)
dream00 2011-12-27
  • 打赏
  • 举报
回复
有没有人知道啊。。
dream00 2011-12-27
  • 打赏
  • 举报
回复
谢谢楼上的几位朋友答复,但还是没有解决我的问题,我只有想个笨方法,,就是批量加路由规则,,已经测试解决。。

foreach (System.Data.DataRow dr in dt.Rows)
{
routes.MapRoute(
"CommonDity_" + dr["fkey"].ToString(), // Route name
dr["fkey"].ToString() + "/{nPageIndex}", // URL with parameters
new { controller = "CommonDity", action = "Index",nPageIndex="1" }, // Parameter defaults
new { nPageIndex = @"[\d]*" }
);
}

CommonDity即是那个控制器 访问网址的时候就可以这样
http://localhost:333/key
http://localhost:333/key1
http://localhost:333/key2
有分页的时候可以
http://localhost:333/key/1
http://localhost:333/key/2
那一抹嫣红 2011-12-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zmcici 的回复:]

添加区域(area)
[/Quote]
就是添加

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧