繁体   English   中英

为什么在ASP.NET CORE MVC中应用了错误的路由?

[英]Why wrong routes are getting applied in ASP.NET CORE MVC?

我正在研究ASP.NET CORE MVC项目。 其中有2条路线:

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

    routes.MapRoute(
       name: "news",
       template: "News{controller}/{action}");
});

我注意到在CORE 2.0 Framework中,首先定义特定路由的概念不适用于上面显示的我的2条路由。 是否有错误? 还是我的代码有问题?


当获取URL- “ / NewsHome / Index”时 ,它正在调用Home Controller Action方法。

实际上应该调用NewsHome Controller的Index方法 怎么了 ?

我还摘录了本书的摘录-“ Adam Freeman的Pro ASP.NET Core MVC 2”,以阐明我的观点。 请看下面:

在此处输入图片说明

有什么问题,请指导我?

答案在您发布的屏幕截图中。 您应该颠倒映射的顺序。 在屏幕截图中,它显示了错误的方式。

行为与书中所述完全相同。 只需反转您的路线顺序即可。

更改

routes.MapRoute(
   name: "news",
   template: "News{controller}/{action}");

routes.MapRoute(
   name: "news",
   template: "/news/{action}");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM