基本每个站点都有面包屑导航,Mvc中怎么实现呢?
首先,说下我的思路,不知道可行性怎么样,求更好的实现方式。
我的实现方式是,以Action为最小配置单元,在config或xml文件中配置导航规则(可能带正则),
在程序中我们遍历RoutData中的数据,按顺序组合成一个字符串,然后去匹配配置过的导航规则,如果匹配再获取数据来替换导航规则中得占位符从而显示出导航。
假如有一个博客,它有一个controller="Blog",有以下3个action,分别是Index,Category,Article,那么它可能产生的组合方式是(程序中遍历RouteData,按顺序组合成字符串)
Blog/Index、Blog/Category/Id、Blog/Article/Id,
在config或xml文件中配置导航规则如下:
key | value |
---|---|
Blog/Index | Blog |
Blog/Category/^\d+? | Blog/{CategoryName} |
Blog/Article/^\d+? | Blog/{CategoryName}/{ArticleTitle} |
这个可实现性不知道怎样,如果站点页面较多,那么配置文件就会很大,如果有其他的实现,麻烦讲下呗~