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

📄 quicklinksconfig.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 CS
字号:
namespace PowerEasy.WebSite.Admin
{
    using PowerEasy.AccessManage;
    using PowerEasy.Components;
    using PowerEasy.Controls;
    using PowerEasy.Enumerations;
    using PowerEasy.Model.UserManage;
    using PowerEasy.UserManage;
    using PowerEasy.Web.UI;
    using System;
    using System.Collections.ObjectModel;
    using System.IO;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Xml;

    public class QuickLinksConfig : AdminPage
    {
        private Collection<string> quickConfig;
        protected Repeater RptQuickLinks;
        protected ExtendedSiteMapPath SmpNavigator;
        protected ScriptManager SmQuickLinksConfig;
        private XmlDocument xmlDoc;

        private bool CheckPermission(string operateCode)
        {
            if (operateCode == "None")
            {
                return true;
            }
            if (!Enum.IsDefined(typeof(OperateCode), operateCode))
            {
                return false;
            }
            OperateCode code = (OperateCode) Enum.Parse(typeof(OperateCode), operateCode);
            return RolePermissions.AccessCheck(code);
        }

        private Collection<string> ConvertToCollection(AdminProfileInfo adminProfileInfo)
        {
            Collection<string> collection = new Collection<string>();
            if (!adminProfileInfo.IsNull)
            {
                if (!string.IsNullOrEmpty(adminProfileInfo.QuickLinksConfig))
                {
                    foreach (string str in adminProfileInfo.QuickLinksConfig.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
                    {
                        collection.Add(str);
                    }
                }
                return collection;
            }
            foreach (XmlNode node in this.xmlDoc.SelectNodes("/Links//Link[@IsDefalutShow='true']"))
            {
                if (this.CheckPermission(node.Attributes["operateCode"].Value))
                {
                    collection.Add(node.Attributes["id"].Value);
                }
            }
            return collection;
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            string str;
            this.xmlDoc = new XmlDocument();
            HttpContext current = HttpContext.Current;
            if (current != null)
            {
                str = current.Server.MapPath("~/Admin/Common/QuickLinks.xml");
            }
            else
            {
                str = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Admin/Common/QuickLinks.xml");
            }
            this.xmlDoc.Load(str);
            AdminProfileInfo adminProfile = AdminProfile.GetAdminProfile(PEContext.Current.Admin.AdminName);
            this.quickConfig = this.ConvertToCollection(adminProfile);
            this.RptQuickLinks.DataSource = this.xmlDoc.SelectNodes("/Links/Module");
            this.RptQuickLinks.DataBind();
        }

        protected void RptQuickLink_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Header)
            {
                Literal literal = e.Item.FindControl("LitMainLink") as Literal;
                RepeaterItem parent = (RepeaterItem) e.Item.Parent.Parent;
                literal.Text = ((XmlNode) parent.DataItem).Attributes["title"].Value;
            }
            if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
            {
                XmlNode dataItem = (XmlNode) e.Item.DataItem;
                e.Item.Visible = false;
                if ((dataItem != null) && this.CheckPermission(dataItem.Attributes["operateCode"].Value))
                {
                    e.Item.Visible = true;
                    string item = dataItem.Attributes["id"].Value;
                    Literal literal2 = (Literal) e.Item.FindControl("LitLink");
                    if (this.quickConfig.Contains(item))
                    {
                        literal2.Text = "<li id=\"" + item + "\"><a id=\"" + item + "Link\" href=\"javascript:DeleteLink('" + item + "','" + dataItem.Attributes["leftUrl"].Value + "','" + dataItem.Attributes["rightUrl"].Value + "','" + dataItem.Attributes["title"].Value + "');\">" + dataItem.Attributes["title"].Value + "<span id=\"" + item + "LinkStatus\" style=\"color:Red\"><b>√</b></span></a></li>";
                    }
                    else
                    {
                        literal2.Text = "<li id=\"" + item + "\"><a id=\"" + item + "Link\" href=\"javascript:AddLink('" + item + "','" + dataItem.Attributes["leftUrl"].Value + "','" + dataItem.Attributes["rightUrl"].Value + "','" + dataItem.Attributes["title"].Value + "');\">" + dataItem.Attributes["title"].Value + "<span id=\"" + item + "LinkStatus\" style=\"color:Red\"></span></a></li>";
                    }
                }
            }
        }

        protected void RptQuickLinks_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
            {
                XmlNode dataItem = (XmlNode) e.Item.DataItem;
                e.Item.Visible = false;
                if ((dataItem != null) && this.CheckPermission(dataItem.Attributes["operateCode"].Value))
                {
                    e.Item.Visible = true;
                    Literal literal = e.Item.FindControl("LitModuleDescription") as Literal;
                    literal.Text = dataItem.Attributes["description"].Value;
                    Repeater repeater = (Repeater) e.Item.FindControl("RptQuickMainLink");
                    repeater.ItemDataBound += new RepeaterItemEventHandler(this.RptQuickMainLink_ItemDataBound);
                    repeater.DataSource = this.xmlDoc.SelectNodes("/Links/Module[@id='" + dataItem.Attributes["id"].Value + "']/Link");
                    repeater.DataBind();
                }
            }
        }

        protected void RptQuickMainLink_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
            {
                XmlNode dataItem = (XmlNode) e.Item.DataItem;
                Repeater repeater = (Repeater) e.Item.FindControl("RptQuickLink");
                repeater.ItemDataBound += new RepeaterItemEventHandler(this.RptQuickLink_ItemDataBound);
                XmlNodeList list = dataItem.SelectNodes("/Links/Module/Link[@id='" + dataItem.Attributes["id"].Value + "']/Link");
                if (list.Count > 0)
                {
                    e.Item.Visible = false;
                    if ((dataItem != null) && this.CheckPermission(dataItem.Attributes["operateCode"].Value))
                    {
                        e.Item.Visible = true;
                        repeater.DataSource = list;
                        repeater.DataBind();
                    }
                }
                else
                {
                    PlaceHolder holder = (PlaceHolder) e.Item.FindControl("PlhQuickLink");
                    holder.Visible = true;
                    e.Item.Visible = false;
                    if ((dataItem != null) && this.CheckPermission(dataItem.Attributes["operateCode"].Value))
                    {
                        e.Item.Visible = true;
                        string item = dataItem.Attributes["id"].Value;
                        Literal literal = (Literal) e.Item.FindControl("LitQuickLink");
                        if (this.quickConfig.Contains(item))
                        {
                            literal.Text = "<li id=\"" + item + "\"><a id=\"" + item + "Link\" href=\"javascript:DeleteLink('" + item + "','" + dataItem.Attributes["leftUrl"].Value + "','" + dataItem.Attributes["rightUrl"].Value + "','" + dataItem.Attributes["title"].Value + "');\">" + dataItem.Attributes["title"].Value + "<span id=\"" + item + "LinkStatus\" style=\"color:Red\"><b>√</b></span></a></li>";
                        }
                        else
                        {
                            literal.Text = "<li id=\"" + item + "\"><a id=\"" + item + "Link\" href=\"javascript:AddLink('" + item + "','" + dataItem.Attributes["leftUrl"].Value + "','" + dataItem.Attributes["rightUrl"].Value + "','" + dataItem.Attributes["title"].Value + "');\">" + dataItem.Attributes["title"].Value + "<span id=\"" + item + "LinkStatus\" style=\"color:Red\"></span></a></li>";
                        }
                    }
                }
            }
        }
    }
}

⌨️ 快捷键说明

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