制作高级 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" }
);
}
我有一个包含两个主要动态模块的网站:
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" }
);
}