web站点递归绑定数据库的站点地图(SiteMapPath控件与Web.sitemap结合)

原创 2013年12月02日 17:40:08

1. 在网站根目录建立一个Web.sitemap文件

2.建立一个带有BUTTON的页面

3 CS页面代码

Lion.BLL.Base_Menu bll = new Lion.BLL.Base_Menu();
    string strPathName = "";
    protected void Page_Load(object sender, EventArgs e)
    {
       strPathName = Server.MapPath("\\") + "Web.sitemap";

        Bind();
    }

    void Bind()
    {
        Encoding oENC = Encoding.UTF8;
        XmlTextWriter oXML = new XmlTextWriter(strPathName, oENC);
        oXML.WriteStartDocument(); 
        oXML.WriteStartElement("siteMap");
        oXML.WriteStartElement("siteMapNode");
        oXML.WriteAttributeString("title", "目前位置");
        //oXML.WriteStartElement("siteMapNode");
        List<Lion.Model.Base_Menu> collection = bll.GetModelList("IsShow=1 and Belong=" + (int)TableState.MenuBelong.UserPage + " and ParentID='" + Guid.Empty + "' order by sort");
        foreach (Lion.Model.Base_Menu item in collection)
        {
            oXML.WriteStartElement("siteMapNode");
            oXML.WriteAttributeString("title", item.MenuName.ToString());
            if (item.MenuUrl != "")
            {
                oXML.WriteAttributeString("url", item.MenuUrl.ToString());
            }
            BindNode(item.MenuID, oXML);
            oXML.WriteEndElement();
        }
       
        oXML.WriteEndElement();
        oXML.WriteEndDocument(); 
        oXML.Flush();
        oXML.Close();     
        oXML = null;

    }

    void BindNode(Guid tid, XmlTextWriter oXML)
    {
       
        List<Lion.Model.Base_Menu> collection = bll.GetModelList("IsShow=1 and Belong=" + (int)TableState.MenuBelong.UserPage + " and ParentID='" + tid + "' order by sort");
        foreach (Lion.Model.Base_Menu item in collection)
        {
            oXML.WriteStartElement("siteMapNode");
            oXML.WriteAttributeString("title", item.MenuName.ToString());
            oXML.WriteAttributeString("url", item.MenuUrl.ToString());
            oXML.WriteEndElement();
            BindNode(item.MenuID, oXML);
        }
       

    }

 

* 注意 本代码是开页面时直接生成Web.sitemap内容 可以把Bind()写在BUTTON的事件里。本文用的是LIST得到数据库列表 也可以用DATATABLE.

点击按钮 自动把数据库内容写入Web.sitemap 这样控件SiteMapPath就可以自动绑定Web.sitemap内容,把这段代码放入用户控件里,那么任何用此用户控件的页面就可以根据数据库里记录的URL找到自己的位置,从而找到上级各部分,生成站点地图。

相关文章推荐

.NET站点导航之TreeView控件绑定数据库

今天跟大家分享的内容是 站点导航之TreeView控件绑定数据库,具体的页面展示呢,如下:           。            这里呢,其实是以树状图的形式,展现的数据库的内容,数据库的...

sourceforge免费空间绑定godaddy域名--搭建属于自己的web站点

一直打算空了搭建自己的站点,zhezh

动态修改页面导航的问题!(sitemappath + web.sitemap)

我做了一个用户控件,此用户控件中只有一个控件(SiteMapPath) 并将此用户控件放在母版页中, 在运行时出现如题的提示! 用户控件中的代码如下: protected void Page_...

构建高性能的web站点学习笔记二------数据库扩展

构建高性能的web站点需要考虑很多方面,我们在这了解一下其中一项---------数据库扩展,希望能够让没有接触过这方面知识的朋友对数据库扩展有个认识吧。 随着用户数量的不断增加,数据库将面临着巨大...

结合高性能web站点构架话题在asp.net中petshop缓存的探究

缓存的方式在计算机 在高性能的web站点构中,缓存的方式

asp.net配置web站点教程---图不知道跑哪里去了,坑

因为用asp.net配置站点的过程中血泪太多,此文就直接按照步骤一步步来: 1、在vs中发布站点      如下图:点击调试按钮,保证程序是正确滴,是可以运行滴。              如下图:...

SiteMapPath站点地图详解

  • 2008年11月22日 21:43
  • 13KB
  • 下载

对绑定到 GridView Web 服务器控件的行执行批量更新(同时编辑所有行)

http://msdn.microsoft.com/zh-cn/library/aa992036(v=vs.80).aspx 创建网站 如果您已经通过完成演练:在 Visual...

VS2013从头开始创建Web Form--ASP.NET数据源和数据绑定控件

下面我们将介绍在 VS2013 下如何创建 ASP.NET Web Form 并操作数据源控件和数据绑定控件: 1、创建Web Application 打开VS2013,依次点击 File->New-...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:web站点递归绑定数据库的站点地图(SiteMapPath控件与Web.sitemap结合)
举报原因:
原因补充:

(最多只允许输入30个字)