首页 新闻 会员 周边 捐助

问个Asp.net MVC URLRoute 小问题MapRoute()方法

0
悬赏园豆:30 [已解决问题] 解决于 2012-01-17 10:23

其实我遇到的问题是
这样写
routes.MapRoute(
 "Default", // 路由名称
 "{controller}/{action}/{id}", // 带有参数的 URL
 new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
);
 
这个写法就可以找到默认页面 一切正常。

然而这样写
routes.MapRoute(
  "Default", // 路由名称
  "{a}/{b}/{id}", // 带有参数的 URL
  new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
  );

就不正常了,不能匹配默认页。只能识别 Home/Index/1 这样的格式。。

我很奇怪为什么

用得MVC3 VS2010自带模板创建的

郁闷的冰的主页 郁闷的冰 | 初学一级 | 园豆:105
提问于:2012-01-14 00:04
< >
分享
最佳答案
0

这是不能匹配到controller上去了,也就是说.net不能根据你的名称去匹配以Controller结尾的类了。

收获园豆:20
az235 | 大侠五级 |园豆:8483 | 2012-01-16 10:42

不明白你所说的这个具体的意思。

郁闷的冰 | 园豆:105 (初学一级) | 2012-01-16 14:55

@郁闷的冰: mvc去找controller类是的时候是不是需要通过以Controller结尾的类名来去匹配的,你这样配置就是不能找到这个类。

az235 | 园豆:8483 (大侠五级) | 2012-01-16 14:58

@az235: 可能我提问的不是很清楚,又重发了个帖子提问,能帮忙看下嘛?http://q.cnblogs.com/q/31433/

郁闷的冰 | 园豆:105 (初学一级) | 2012-01-16 17:04
其他回答(2)
0

 controller = "Home", action = "Index", 这个地方也要写a= "Home", b= "Index",.

收获园豆:10
悟行 | 园豆:12559 (专家六级) | 2012-01-16 11:20

你说的这种写法是不对的。。我写过,通过不了。

支持(0) 反对(0) 郁闷的冰 | 园豆:105 (初学一级) | 2012-01-16 14:55
0

已经了解清楚,谢谢大家指点

无论是占位符{controller}{action}

还是默认参数 new {controller="Home",action="Index"}

这两个地方都必须是这么写的。

郁闷的冰 | 园豆:105 (初学一级) | 2012-01-17 10:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册