小编Den*_*nis的帖子

routes.MapMvcAttributeRoutes()和context.Routes.MapMvcAttributeRoutes();之间的区别是什么?

我有mvc应用程序与额外的区域命名 account

我正在使用MvcSiteMapProvider制作面包屑

我有一个返回特定发票详细信息的操作.此操作的URL类似于localhost/account/profile/invs-histr/details/ID,其中ID是要显示的发票的ID.

我有accountAreaRegistration.cs注册区域路线,我有RouteConfig.cs注册全球路线.

目前,我必须localhost/account/profile/invs-histr/details/ID在两个文件中注册路由.如果我没有注册这条路线accountAreaRegistration.cs,我有404 exception.如果我没有注册此路线RouteConfig.cs,则不会渲染面包屑.

的开头RouteConfig.cs文件:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.MapMvcAttributeRoutes();
}
Run Code Online (Sandbox Code Playgroud)

而且accountAreaRegistration.cs:

public override void RegisterArea(AreaRegistrationContext context)
{
   context.Routes.MapMvcAttributeRoutes();
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释一下,routes.MapMvcAttributeRoutes()和之间的区别是context.Routes.MapMvcAttributeRoutes()什么?

为什么我应该在两个文件中注册路由?

先感谢您

c# asp.net-mvc asp.net-mvc-routing asp.net-mvc-4

3
推荐指数
1
解决办法
1万
查看次数