一个数据库网站,首页,二级页面,显示页面 名称地址都保存在数据库里面!!!整个网站用一个sitemappath  ,因为二级页面,显示页面要动态添加删除,数据库要更新!如何实现 自动 更新 web.sitemap ?

解决方案 »

  1.   

    自己作一个用户控件自己写,何必依赖SiteMap控件。
      

  2.   

    不懂什么是SiteMap。如果你的站点是“栏目-[栏目-...]-内容”这样的组织结构,所有具体的内容(小区域)都是被映射为内容的,那就从数据结构上保证了可以对任何内容都追查其纲目结构。
      

  3.   

    总之,掌握联系,很多东西都是动态统计或者查询分析的结果。如果说搞一套内容,搞一套SiteMap数据库,这时候就很自寻烦恼。很多时候,你只要首先要保证对任何内容都能追查其上面各层栏目,任何内容的隶属关系的改变就“自动”被捕获/反映到了,就抓住了问题的实质。此时即使忘记什么叫做SiteMap,照样也是精通SiteMap的。
      

  4.   

    SiteMap不就是资料来源于一个XML文件嘛.你直接修改XML对文件即可.
    不过多人使用会有问题.看能不能用代码修改与之绑定的DATASOURCE.
      

  5.   

    如drk928所说
     Dim ojba As XmlDocument = New XmlDataDocument
                ojba.Load(HttpContext.Current.Server.MapPath("~/Web.sitemap"))
                CreateMenuXmlFile(0, ojba)
                ojba.Save(HttpContext.Current.Server.MapPath("~/Web.sitemap"))        End Sub
    ''lz,以下代码只是一个函数,想做什么你自己做。
            ''创建 xml树的方法
            Public Sub CreateMenuXmlFile(ByVal ParentID As Int32, ByRef xmlDom As XmlDocument)
                Dim nodeAttr As XmlAttribute
                '*********************************************
                '建立一级子节点
                '*********************************************
                Dim childNode As XmlNode            '++++++++++++++++++++++++++
                '从数据据获取数据
                '++++++++++++++++++++++++++
                Dim myReader As SqlDataReader            myReader = CType(SqlHelper.ExecuteReader(ConnectionString, System.Data.CommandType.StoredProcedure, "GetTabsByParentId", New SqlParameter("@ParentID", ParentID)), SqlDataReader)
                If myReader.HasRows() Then
                    While myReader.Read()                    childNode = xmlDom.CreateElement("siteMapNode")
                        '添加子节点属性
                        nodeAttr = xmlDom.CreateAttribute("title")
                        nodeAttr.Value = Trim(myReader.Item("TabName"))
                        childNode.Attributes.Append(nodeAttr)                    nodeAttr = xmlDom.CreateAttribute("url")
                     
                        nodeAttr.Value = "ShowTabs.aspx?tabid=" + Convert.ToString(myReader.Item("tabid"))                    childNode.Attributes.Append(nodeAttr)                    nodeAttr = xmlDom.CreateAttribute("description")
                        nodeAttr.Value = Convert.ToString(myReader.Item("Description"))
                        childNode.Attributes.Append(nodeAttr)
                        Dim rootNode As XmlNode = SelectNode(xmlDom, ParentID)
                        'todo why添加子节点sitmap
                        If childNode Is Nothing Or rootNode Is Nothing Then
                        Else                        rootNode.AppendChild(childNode)
                        End If                    CreateMenuXmlFile(myReader.Item("TabID"), xmlDom)
                        '增加子节点
                    End While
                End If            '返回xmlDom        End Sub
      

  6.   

    CSDN的Topic好改改了,搜索引擎优化做的再好,帖子已读完发现浪费了时间,真郁闷...