自定义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 阅读(760) 评论(2)  编辑 收藏 所属分类: 1 .NET 2.0/1.1 & 3.X7 NBear 学习之路8 DataBase

  回复  引用    
#1楼 2007-05-28 22:41 | 陈亮 [未注册用户]
请问自定义后 web.config文件怎么配置?
如果SQL SERVER的数据库又怎么配置呢?
  回复  引用  查看    
#2楼 [楼主]2007-06-03 17:32 | MK2      
Web.config中的设置, 示例如下:
<system.web>
<siteMap defaultProvider="AccessSiteMapProvider">
<providers>
<add
name="AccessSiteMapProvider"
type="MK2.AspNet.Controls.AccessSiteMapProvider" />
</providers>
</siteMap>

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-05-20 16:03 编辑过


相关链接: