制作高级 MVC 路由

Make advanced MVC Route

我有一个包含两个主要动态模块的网站:

1- 模块 (1): 为了使网站管理员能够管理整个网站页面的静态内容,他可以添加一个父页面和最多 2 个级别的子页面

2-模块(2):使网站管理员能够管理应该发布到网站的新闻文章

对于路由,我们计划如下:

1- 模块 (1)

www.websitename.com/parentpage

www.websitename.com/parentpage/childpage

www.websitename.com/parentpage/childpage/childchildpage

2- 模块 (2)

www.websitename.com/news/newstitle

这里的问题是模块 (2) 路由未处理或从未执行过。我认为是因为它与模块(1)中的第二种情况冲突。

有什么建议或建议吗?

此致,

阴暗

感谢您的帮助。我已经使用 RouteBase

解决了这个问题
 public class MyUrlRoute : RouteBase
{
    public override RouteData GetRouteData(HttpContextBase httpContext)
    {
        //Route Code
    }

    public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values)
    {
        //Virtual Path Code
    }
}

在路由配置中

public static void RegisterRoutes(RouteCollection routes)
{
    routes.Add(new MyUrlRoute()); // Add before your default Routes
    defaults: new { language = "en", controller = "Home", action = "Home" },
    namespaces: new string[] { "Solution.Website.Controllers" }
    );
}