现在的位置: 首页 > 综合 > 正文

自定义SiteMapProvide 4 Asp.net 2.0

2013年11月29日 ⁄ 综合 ⁄ 共 1552字 ⁄ 字号 评论关闭
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Security;
namespace BasicCompent
{
    public  class MySitemapProvider:SiteMapProvider
    {
        string homePage;
        string homeName;
        string homeDesc;
        public string GetTargetUrl(string url)
        {
            return string.Empty;
        }
        public override SiteMapNode FindSiteMapNode(string rawUrl)
        {
            SiteMapNode sm = null;
            //--------------根据传入的参数生成SITEMAPNODE
            //---------------将生成的URL改为静态的地址
            string htm = GetTargetUrl(sm.Url);

            return sm;
        }
        public override SiteMapNodeCollection GetChildNodes(SiteMapNode node)
        {
            return null;
        }

        public override SiteMapNode GetParentNode(SiteMapNode node)
        {
            if (node == null  ||  string.IsNullOrEmpty(node["ParentUrl"]))
                return GetRootNodeCore();
            return FindSiteMapNode(node["ParentUrl"]);
        }

        protected override SiteMapNode GetRootNodeCore()
        {
            SiteMapNode sn = new SiteMapNode(this,
                "0", homePage, homeName, homeDesc,
                new string[] { "*" },
                null, null, null);
            sn.ParentNode = null;
            return sn;
                
        }

        public override bool IsAccessibleToUser(System.Web.HttpContext context, System.Web.SiteMapNode node)
        {
            return true;
        }
        public override void Initialize(string name, System.Collections.Specialized.NameValueCollection attributes)
        {
            base.Initialize(name, attributes);
        }
    }
}

抱歉!评论已关闭.