📄 navigationmenu.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 + -