首页新闻找找看学习计划

mvc 路由html文件的问题

0
悬赏园豆:10 [已关闭问题] 关闭于 2013-05-07 14:58

以前网站是webform做的,最近要转mvc,url 用的是rewrite 地址如下:

http://www.xxx.com/detail/123.html 实际请求的是

http://www.xxx.com/detail/default.aspx?id=123

现在用mvc ,怎么设置路由啊?我想让 http://www.xxx.com/detail/123.html 这类的地址根本不存在,我想用一个专用的controll 和action 来处理。

我设置的路由根本没用。。

routes.MapRoute(
    name: "Old",
    url: "detail/{id}.html",
    defaults: new { controller = "Old", action = "Index", id = UrlParameter.Optional }
);

就是设置routes.RouteExistingFiles = true;也不走路由。。。。直接404

问题补充:

从页面错误提示来看,好像根本没经过路由,直接访问物理路径,所以直接404了。。。

 

我想让他,物理路径不存在的时候,再由定制的路由来控制。。。

Charles Tseng的主页 Charles Tseng | 初学一级 | 园豆:143
提问于:2013-04-17 11:31
< >
分享
所有回答(2)
0

routes.MapRoute(
    name: "Old",
    url: "detail/{id}.html",
    defaults: new { controller = "Old", action = "Index", id = UrlParameter.Optional }
);

你用 'Old/Index?id=参数'    这个能访问不?

在确保做路由之前没有问题,再设置路由。

kezhiping | 园豆:197 (初学一级) | 2013-04-17 11:44
0

  routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );

调试下看进没进action,没有就是路由不正确

骷髅人 | 园豆:464 (菜鸟二级) | 2013-04-17 14:25

访问 http://www.xxx.com/detail/123.html 

的时候,根本就不走路由,直接返回404错误

支持(0) 反对(0) Charles Tseng | 园豆:143 (初学一级) | 2013-04-17 16:25

routes.MapRoute(
    name: "Old",
    url: "detail/{id}.html",
    defaults: new { controller = "Old", action = "Index", id = UrlParameter.Optional }
);

看看你路由的控制器是Old,Action是Index,你看看你自己的链接和路由是否想匹配吧

支持(0) 反对(0) kezhiping | 园豆:197 (初学一级) | 2013-04-18 09:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册