⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 navigationmenu.cs

📁 这是一个简单的论坛程序源码
💻 CS
字号:
using System;
using System.Collections;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using NetFocus.Web.Core;

namespace NetFocus.Web.Applications.Forum
{
	public class NavigationMenu : UserControl
	{
        private string _selected = null;
        private bool _reverse = false;
        protected Repeater Menu;

        public string Selected
        {
            get
            {
                if (_selected == null)
                    _selected = Context.Items["SelectedNavigation"] as string;

                return _selected;
            }
            set
            {
                _selected = value;
            }
        }
        public bool Reverse
        {
            get { return _reverse; }
            set { _reverse = value; }
        }

		protected override void OnLoad(EventArgs e)
		{
			DataBind();
		}
        public override void DataBind()
        {
            base.DataBind();

            string cacheKey = this.GetType().ToString();

            ArrayList links = Caches.Get(cacheKey) as ArrayList;
            ArrayList filterLinks = new ArrayList();

            if (links == null)
            {
                links = SiteUrls.Instance().Data.TabUrls;
                Caches.Insert(cacheKey, links, Caches.MinuteFactor * 15);
            }

            foreach (NavLink link in links)
            {
                RoleList roleList = WebContext.Current.User.RoleList;
                bool authorized = false;
                foreach (Role role in roleList)
                {
                    if (link.Roles.ToLower().IndexOf(role.Name.Trim().ToLower()) >= 0)
                    {
                        authorized = true;
                        break;
                    }
                }
                if (authorized == false)
                {
                    continue;
                }
                filterLinks.Add(link);
            }

            if (Reverse)
            {
                filterLinks = filterLinks.Clone() as ArrayList;
                filterLinks.Reverse();
            }

            Menu.DataSource = filterLinks;
            Menu.DataBind();
        }

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -