自定义SiteMapProvider

因为我的做的一个项目是基于Category分类来进行导航的, 查看ASP.NET 站点导航概述 和 如何:实现 ASP.NET 站点地图提供程序  两篇参考文章, 也模仿地写了一个SiteMapProvider程序....

各个 ASP.NET 站点导航组件之间的关系图
站点导航类之间的关系

而我们这次就是编程图中的"自定义站点地图提供程序"....

我的DAL层是基于NBear的....
Category实体定义如下:
[AutoPreLoad]
    
public interface Category : Entity
    {
        [PrimaryKey]
        
int ID { get; }

        [SqlType(
"nvarchar(50)")]
        
string Title { getset; }

        
/// <summary>
        
/// 排序位置
        
/// </summary>
        int Sort { get;set;}

        [FkReverseQuery(LazyLoad 
= true)]
        [MappingName(
"ParentID")]
        Category Parent { 
get;set;}

        [FkQuery(
"Parent", LazyLoad = false, OrderBy= "Sort")]
        [SerializationIgnore]
        Category[] Children { 
getset; }

        [FkQuery(
"Category", OrderBy = "{ID} DESC", LazyLoad = true)]
        Article[] Articles { 
get;set;}
    }


程序代码如下:
MK2.AspNet.Controls.AccessSiteMapProvider


此SiteMapProvider只适合我的项目, 在此只是作个示例展示如何扩展StaticSiteMapProvider而已....
posted @ 2007-05-20 15:58  MK2  阅读(2487)  评论(2编辑  收藏  举报