首页 新闻 赞助 找找看

MVC4怎么样实现一个不带controller名或action名的路由

0
悬赏园豆:5 [已解决问题] 解决于 2014-08-11 18:05

routes.MapRoute(
              name: "CustCatalog",
              url: "{EnName}",
              defaults: new { controller = "Catalog", action = "Release", EnName = "index" }
            );

以上是我定义的一个路由,EnName是栏目英文名参数,想实现的url效果是:

http://localhost:63739/news这样的形式,但是匹配不了这个路由,找不到页面。

请问怎么解决?

破天长云的主页 破天长云 | 初学一级 | 园豆:21
提问于:2014-06-16 10:12
< >
分享
最佳答案
0

你要把这路由放在第一个.会被默认路由给匹配了.不是的话,再找别的原因撒

收获园豆:5
吴瑞祥 | 高人七级 |园豆:29449 | 2014-06-16 11:42

放第一个可以匹配,但是别的路由就出问题了

破天长云 | 园豆:21 (初学一级) | 2014-06-17 17:13

@mondeo: 一般都要有个匹配规则来跟默认路由区分开,.比如http://localhost:63739/news改成http://localhost:63739/Cust_news规则里就是url:"Cust_{Enname}"这样的

吴瑞祥 | 园豆:29449 (高人七级) | 2014-06-17 17:40
其他回答(2)
0

你直接在已经有的controller上面加一个方法,类似如:public string a()之类,然后你的url指定访问的action,a就可以了。

小熊QQ糖 | 园豆:152 (初学一级) | 2014-06-16 17:41

我的已经定义了一个叫Release的action了

支持(0) 反对(0) 破天长云 | 园豆:21 (初学一级) | 2014-06-17 17:14

@mondeo: 只要返回类型不是ActionResult就可以啊,你的URL指向Release不一样么

支持(0) 反对(0) 小熊QQ糖 | 园豆:152 (初学一级) | 2014-06-17 17:31

@〆 Me゛丶: 请问能不能说详细点,给个例子,谢谢了!

支持(0) 反对(0) 破天长云 | 园豆:21 (初学一级) | 2014-06-18 16:12
0

routes.MapRoute(
              name: "CustCatalog",
              url: "news/{EnName}",
              defaults: new { controller = "Catalog", action = "Release", EnName = "index" }
            );

无意飞翔 | 园豆:210 (菜鸟二级) | 2014-07-30 16:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册