创建动态导航(使用SqlSiteMapProvider)
2009-05-08 11:26
393 查看
使用Menu+TreeView+sitemap+SiteMapDataSource可以快速创建动态导航
asp.net提供的Provider是XmlSiteMapProvider,如果要使用SQL SERVER数据库,则要继承SiteMapProvider,重写部分方法.MSDN上已经有实现的SqlSiteMapProvider,可用于Sql7/2000/2005.
详细内容:
http://www.microsoft.com/china/msdn/library/data/sqlserver/0602WickedCode.mspx?mfr=true (中文)
http://msdn.microsoft.com/zh-cn/magazine/cc163787(en-us).aspx(英文)
使用SqlSiteMapProvider(以下内容都可在上面链接页面中找到,英文页面更加详细)
1.创建数据库(没有具体要求,可以用aspnetdb)
2.创建SiteMap表和存储过程
CREATE TABLE [dbo].[SiteMap] (
[ID] [int] NOT NULL,
[Title] [varchar] (32) NOT NULL,
[Description] [varchar] (512),
[Url] [varchar] (512),
[Roles] [varchar] (512),
[Parent] [int]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[SiteMap] ADD
CONSTRAINT [PK_ID] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
GO
3.首先注册缓存:
4.配置Config:
<connectionStrings>
<add name="SiteMapConnectionString"
connectionString="server=localhost;database=数据库名;uid=sa;pwd="
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<siteMap>
<providers>
<add name="SqlSiteMapProvider" type="SqlSiteMapProvider" securityTrimmingEnabled="true"
connectionStringName="SiteMapConnectionString"
sqlCacheDependency="CommandNotification"
/>
</providers>
</siteMap>
<caching>
<sqlCacheDependency enabled="true" pollTime="5000">
<databases>
<add name="aspnetdb"
connectionStringName="SiteMapConnectionString" />
</databases>
</sqlCacheDependency>
</caching>
</system.web>
5.剩下的工作就可以像web.sitemap一样使用SiteMapDataSource+Menu/TreeView制作动态导航了
asp.net提供的Provider是XmlSiteMapProvider,如果要使用SQL SERVER数据库,则要继承SiteMapProvider,重写部分方法.MSDN上已经有实现的SqlSiteMapProvider,可用于Sql7/2000/2005.
详细内容:
http://www.microsoft.com/china/msdn/library/data/sqlserver/0602WickedCode.mspx?mfr=true (中文)
http://msdn.microsoft.com/zh-cn/magazine/cc163787(en-us).aspx(英文)
使用SqlSiteMapProvider(以下内容都可在上面链接页面中找到,英文页面更加详细)
1.创建数据库(没有具体要求,可以用aspnetdb)
2.创建SiteMap表和存储过程
CREATE TABLE [dbo].[SiteMap] (
[ID] [int] NOT NULL,
[Title] [varchar] (32) NOT NULL,
[Description] [varchar] (512),
[Url] [varchar] (512),
[Roles] [varchar] (512),
[Parent] [int]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[SiteMap] ADD
CONSTRAINT [PK_ID] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
GO
3.首先注册缓存:
aspnet_regSQL –S localhost –E –d 数据库名 -ed aspnet_regSQL –S localhost –E –d 数据库名 –t SiteMap -et
4.配置Config:
<connectionStrings>
<add name="SiteMapConnectionString"
connectionString="server=localhost;database=数据库名;uid=sa;pwd="
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<siteMap>
<providers>
<add name="SqlSiteMapProvider" type="SqlSiteMapProvider" securityTrimmingEnabled="true"
connectionStringName="SiteMapConnectionString"
sqlCacheDependency="CommandNotification"
/>
</providers>
</siteMap>
<caching>
<sqlCacheDependency enabled="true" pollTime="5000">
<databases>
<add name="aspnetdb"
connectionStringName="SiteMapConnectionString" />
</databases>
</sqlCacheDependency>
</caching>
</system.web>
5.剩下的工作就可以像web.sitemap一样使用SiteMapDataSource+Menu/TreeView制作动态导航了
相关文章推荐
- 在Django中使用自定义Tag创建动态导航栏
- 使用VBA动态创建SQL查询语句
- 使用动态SQL语句 创建数据库
- EntityFramework4.5使用Expression类创建动态查询及动态查询导航属性
- [自我总结]如何使用VS2005中的OLEDB的JET SQL驱动来动态创建数据表!
- PostgreSQL中使用动态SQL-实现自动按时间创建表分区
- EntityFramework4.5使用Expression类创建动态查询及动态查询导航属性
- EntityFramework4.5使用Expression类创建动态查询及动态查询导航属性
- java使用JDBC动态创建数据表及SQL预处理的方法
- dbms_sql使用,用于创建通用动态sql
- Spring动态创建,加载,使用多数据源
- linux的动态链接库的创建和使用
- IOS 导航控制器基本使用(UINavigationController代码创建方式)
- 安卓开发SQlite使用执行SQL语句一些简单的处理——1.创建数据库,表和添加数据
- 动态创建字符数组,且输出字符数组奇数位--使用指针
- 使用动态代理创建数据库连接池
- 如何在store procedure中使用动态SQL
- oracle中动态SQL使用详细介绍
- PL/SQL开发中动态SQL的使用方法
- 动态sql语句基本语法(字段名,表名,数据库名之类作为变量时,必须用动态SQL如ALTER TABLE中使用程序传递的参数)