>建立用于MVC应用程序的多级自定义路由系统
>创建强大的内容管理系统(CMS)通常需要灵活性来定义高度特定的多级路由路径以进行管理控制。本文详细介绍了一个解决方案,使管理员能够定义具有多个级别的自定义路线,例如“新闻/本地/mynewdog”或“文章/事件/事件/约定/mycon”。
扩展RouteBase:customPageroute类>
>将此CMS式路由无缝集成到您的MVC应用程序中,我们将创建一个自定义子类,RouteBase
。该子类将覆盖CustomPageRoute
和GetRouteData
的方法来处理我们多级路径结构的唯一逻辑。GetVirtualPath
方法GetRouteData
方法会接收GetRouteData
>,如果找到路由匹配,则返回HttpContextBase
对象。 它咨询了预定义的页面列表,以检查是否存在请求的虚拟路径(来自HTTP请求)。成功的匹配使RouteData
>对象与适当的控制器,操作和ID。
RouteData
方法GetVirtualPath
相反,
>和GetVirtualPath
,然后返回RequestContext
>对象。 它使用同一页面列表,这次与RouteValueDictionary
的控制器,操作和ID匹配。 匹配生成相应的自定义虚拟路径。VirtualPathData
>
RouteValueDictionary
>可以通过以下功能进一步增强
的类
CustomPageRoute
>
>的路线注册
>最后,在您的现有路线以及您的MVC应用程序的方法中注册您的自定义路线。Application_Start
Application_Start
子类,您可以在MVC应用程序的路由系统中定义多级自定义路径。这种方法为CMS或任何需要复杂的层次路径结构等应用程序提供了明显的灵活性。
以上是如何在我的MVC应用程序中实现多级自定义路由?的详细内容。更多信息请关注PHP中文网其他相关文章!