我的web.sitemap<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/index.aspx" title="首页" description="首页">
<siteMapNode url="~/articlelist.aspx?t=1" title="国际新闻" description="国际新闻">
</siteMapNode>
<siteMapNode url="~/articlelist.aspx?t=2" title="国内新闻" description="国内新闻">
</siteMapNode>
</siteMapNode>
</siteMap>例如国际新闻这个节点下面有很多篇国际新闻的文章,内容很多,而且新闻随时添加,这样web.sitemap里面肯定不能写死的,想求个可以动态的方法
展示新闻的页面是article.aspx?pid=新闻的编号,我在这个页面里面放了一个SiteMapPath,想要也能正确展示正确的站点地址
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/index.aspx" title="首页" description="首页">
<siteMapNode url="~/articlelist.aspx?t=1" title="国际新闻" description="国际新闻">
</siteMapNode>
<siteMapNode url="~/articlelist.aspx?t=2" title="国内新闻" description="国内新闻">
</siteMapNode>
</siteMapNode>
</siteMap>例如国际新闻这个节点下面有很多篇国际新闻的文章,内容很多,而且新闻随时添加,这样web.sitemap里面肯定不能写死的,想求个可以动态的方法
展示新闻的页面是article.aspx?pid=新闻的编号,我在这个页面里面放了一个SiteMapPath,想要也能正确展示正确的站点地址
那N篇文章的时候,那个xml很大很大啊
网上搜索一下“sitemap”你就会明白了,asp.net里的sitemap是站点导航控件的数据源,作用是网站主要功能的导航,针对网站浏览者的。
而我们通常所说的sitemap,是针对搜索引擎的,全站所有页面的索引。sitemap本身是xml文件(或者压缩后的gz文件),遵循sitemap协议,google、雅虎、必应这些搜索引擎都有接口让你提交sitemap,百度无视它,都是自己抓。
它们是两个东西。微软搞混淆这两个概念太坑爹了。。
如果你想做的是给用户看的站内功能导航,数据源可以自定义,不必是固定的xml文件的。不过我劝你还是先抛弃拖控件绑数据的习惯吧,站点导航控件就是鸡肋,自己写随心所欲。
如果你是想做对搜索引擎友好的sitemap,建议你用工具生成。工具有很多,我只用过Google Sitemap Generator,很方便,装过之后会在iis中新增一个专门用于生成sitemap的站点(所以xp下的iis 5.1就歇菜吧),设定好生成间隔、文件大小等参数,它就会自动遍历你的站点里的所有链接和页面(包括article.aspx?pid=100这样的动态页),生成sitemap文件,超过设定的大小会分隔,然后会自动压缩存放到你的站点下,还会自动提交各搜索引擎。然后你可以在google的站长工具里看到sitemap的运行状态,收录情况等。