首页 新闻 搜索 专区 学院

net core 路由的问题(area 配置)

0
[已解决问题] 解决于 2018-07-03 10:45

以前fw mvc中,有如下的路由配置

context.MapRoute(
"Mobile_default",
"m-{platform}/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

当url 访问  xxx站点/m-Wap的时候,会自动匹配解析到配置中的路由,并且 routedata["platform"]会得到 Wap 的参数,那么迁移到net core之后,这个路由配置需要怎样去写呢?

PS:controller 是 Area/Mobile 下边的,官方的文档area的配置是

routes.MapRoute(
name: "area",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");

死神的背影的主页 死神的背影 | 小虾三级 | 园豆:662
提问于:2018-07-02 15:18
< >
分享
最佳答案
0

试试

routes.MapRoute(
    "Mobile_default",
    "m-{platform}/{controller}/{action}/{id}",
    new { area= "Mobile", controller = "Home", action = "Index" });
奖励园豆:5
dudu | 高人七级 |园豆:37567 | 2018-07-02 15:42
app.UseMvc(routes =>
            {
                routes.MapRoute(
                    "Mobile_default",
                    "m-{platform}/{controller}/{action}/{id}",
                    new { area = "Mobile", controller = "Home", action = "Index" });

                routes.MapRoute(
                    name: "area",
                    template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");

                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });

 

然后 访问本地调试 站点 http://localhost:60590/m-Wap  ,

会报错:找不到与以下网址对应的网页:http://localhost:60590/m-Wap

这个还是路由配置的问题吧?

死神的背影 | 园豆:662 (小虾三级) | 2018-07-02 16:30

@死神的背影: 之前漏了问号,id需要加上问号

routes.MapRoute(
    "Mobile_default",
    "m-{platform}/{controller}/{action}/{id?}",
    new { area= "Mobile", controller = "Home", action = "Index" });
dudu | 园豆:37567 (高人七级) | 2018-07-02 16:39

@死神的背影: 路由实测没问题,另外,可以通过RouteData.Values["platform"]获取路由参数值

dudu | 园豆:37567 (高人七级) | 2018-07-02 17:41

@dudu:  OK,已经测试过,没有问题,多谢

死神的背影 | 园豆:662 (小虾三级) | 2018-07-03 10:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册