首页 新闻 赞助 找找看

mojoportal中SiteMapDataSource控件的数据源怎么获取的,没有找到web.sitemap等相关文件啊。

0
悬赏园豆:100 [已解决问题] 解决于 2011-01-18 15:32

mojoportal中SiteMapDataSource控件的数据源怎么获取的,没有找到web.sitemap等相关文件啊。找了好久没找到,执行 siteMapDataSource = (SiteMapDataSource)this.FindControl("SiteMapData");后就得到导航栏的数据了。也没见它从数据库读取。SiteMap.aspx和SiteMap.ashx.cs中执行SiteMapDataSource siteMapDataSource = new SiteMapDataSource();就有数据了。搞了好久没弄明白它的数据从哪里来的.
请您帮忙下,先谢谢!

问题补充: 我把全部悬赏分都弄上啦,哥哥姐姐们,帮帮忙啊!
锋剑的主页 锋剑 | 初学一级 | 园豆:100
提问于:2010-12-31 17:22
< >
分享
最佳答案
0

mojoportal这东西不是开源的么? 可以进去看看他是这么实现的啦

.net自带的那个SiteMapDataSource是从网站根目录下面的*.SiteMap文件读取数据进来的

收获园豆:100
听说读写 | 小虾三级 |园豆:777 | 2011-01-06 18:36
看了源码,以及搜索整个项目,没找到*.SiteMap文件啊!我想原理应该是先从数据库中读取数据,然后写到*.sitemap中。但是通过调试,执行到 siteMapDataSource = (SiteMapDataSource)this.FindControl("SiteMapData");这一步后就得到导航栏的数据了。也没见它从数据库读取。
锋剑 | 园豆:100 (初学一级) | 2011-01-13 10:21
其他回答(1)
0

貌似高手都不愿透漏技术。。。我遇到同样的问题,找了好久。终于知道了,看下面:

你的web.config中的<siteMap>下的<add>

例如<add name="MySiteMapProvider" type="MySitemapProvider" securityTrimmingEnabled="true" connectionStringName="csdtCnn"/>

这代表他使用自定义的provider 类,你只需找MySiteMapProvider这个类就解决问题了。

MySiteMapProvider是来用提供数据源的,具体你看你<add>中name是什么。

虽然没分了 发扬下雷锋精神

_染指青春 | 园豆:202 (菜鸟二级) | 2013-11-08 16:57

谢谢!谢谢!非常感谢!爱死你了!

支持(0) 反对(0) 锋剑 | 园豆:100 (初学一级) | 2013-11-13 15:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册