我有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()什么?
为什么我应该在两个文件中注册路由?
先感谢您