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

📄 dynamiclabel.cs

📁 最好用的站点内容管理系统 全部源代码都有
💻 CS
字号:
//======================================================
//==     (c)2008 aspxcms inc by NeTCMS v1.0              ==
//==          Forum:bbs.aspxcms.com                   ==
//==         Website:www.aspxcms.com                  ==
//======================================================
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Text.RegularExpressions;
using NetCMS.Config;

namespace NetCMS.Publish
{
    public class DynamicLabel : Label
    {
        /// <summary>
        /// 标签内容
        /// </summary>
        private string LabelContent = string.Empty;
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="labelname">标签名称</param>
        public DynamicLabel(string labelname, LabelType labeltype)
            : base(labelname, labeltype)
        {
            //LblMassList = new List<LabelMass>();
        }
        
        public override void GetContentFromDB()
        {
            string getType = _LabelName;
            string result = "";
            if (_LabelName.Trim() == "{NT_DynClassLD}")
            {
                result = "[NT:Loop,NT:SiteID=0,NT:LabelType=ClassList,NT:ListType=News,NT:PageStyle=0$$30$]·<a href=\"{#URL}\"><a href=\"{#URL}\">{#Title}</a></a>  <span style=\"color:#999999;font-size:10px\">({#Date:Month}-{#Date:Day})</span>[/NT:Loop]";
            }
            else if (_LabelName.Trim() == "{NT_DynClassLDC}")
            {
                result = "[NT:Loop,NT:SiteID=0,NT:LabelType=ClassList,NT:ListType=News,NT:PageStyle=0$$30$,NT:SubNews=true]·<a href=\"{#URL}\">{#Title}</a>  <span style=\"color:#999999;font-size:10px\">({#Date:Month}-{#Date:Day})</span>[/NT:Loop]";
            }
            else if (_LabelName.IndexOf("{NT_DynClassD_") > -1)
            {
                result = "[NT:Loop,NT:SiteID=0,NT:LabelType=List,NT:Number=10,NT:NewsType=Last,NT:ClassID=" + (_LabelName.Replace("{NT_DynClassD_", "")).TrimEnd('}') + "]·<a href=\"{#URL}\">{#Title}</a>  <span style=\"color:#999999;font-size:10px\">({#Date:Month}-{#Date:Day})</span>[/NT:Loop]";
            }

            else if (_LabelName.IndexOf("{NT_DynClassDC_") > -1)
            {
                result = "[NT:Loop,NT:SiteID=0,NT:LabelType=List,NT:Number=10,NT:NewsType=Last,NT:SubNews=true,NT:ClassID=" + (_LabelName.Replace("{NT_DynClassDC_", "")).TrimEnd('}') + "]·<a href=\"{#URL}\">{#Title}</a>  <span style=\"color:#999999;font-size:10px\">({#Date:Month}-{#Date:Day})</span>[/NT:Loop]";
            }

            else if (_LabelName.IndexOf("{NT_DynClassR_") > -1)
            {
                result = "[NT:unLoop,NT:SiteID=0,NT:LabelType=RSS,NT:ClassID=" + (_LabelName.Replace("{NT_DynClassR_", "")).TrimEnd('}') + "][/NT:unLoop]";
            }
            else if (_LabelName.IndexOf("{NT_DynClassC_") > -1)
            {
                result = "[NT:unLoop,NT:SiteID=0,NT:LabelType=ClassNaviRead,NT:ClassID=" + (_LabelName.Replace("{NT_DynClassC_", "")).TrimEnd('}') + ",NT:ClassTitleNumber=30,NT:ClassNaviTitleNumber=150][/NT:unLoop]";
            }
            else if (_LabelName.IndexOf("{NT_DynClassC_") > -1)
            {
                result = "[NT:unLoop,NT:SiteID=0,NT:LabelType=ClassNaviRead,NT:ClassID=" + (_LabelName.Replace("{NT_DynClassC_", "")).TrimEnd('}') + ",NT:ClassTitleNumber=30,NT:ClassNaviTitleNumber=150][/NT:unLoop]";
            }
            else if (_LabelName.Trim() == "{NT_DynSpecialLD}")
            {
                result = "[NT:Loop,NT:SiteID=0,NT:LabelType=ClassList,NT:ListType=Special,NT:PageStyle=0$$30$]·<a href=\"{#URL}\">{#Title}</a>  <span style=\"color:#999999;font-size:10px\">({#Date:Month}-{#Date:Day})</span>[/NT:Loop]";
            }
            else if (_LabelName.Trim() == "{NT_DynSpecialLDC}")
            {
                result = "[NT:Loop,NT:SiteID=0,NT:LabelType=ClassList,NT:ListType=Special,NT:PageStyle=0$$30$,NT:SubNews=true]·<a href=\"{#URL}\">{#Title}</a>  <span style=\"color:#999999;font-size:10px\">({#Date:Month}-{#Date:Day})</span>[/NT:Loop]";
            }
            else if (_LabelName.IndexOf("{NT_DynSpecialD_") > -1)
            {
                result = "[NT:Loop,NT:SiteID=0,NT:LabelType=List,NT:Number=10,NT:NewsType=Special,NT:SpecialID=" + (_LabelName.Replace("{NT_DynSpecialD_", "")).TrimEnd('}') + "]·<a href=\"{#URL}\">{#Title}</a>  <span style=\"color:#999999;font-size:10px\">({#Date:Month}-{#Date:Day})</span>[/NT:Loop]";
            }
            else if (_LabelName.IndexOf("{NT_DynSpecialDC_") > -1)
            {
                result = "[NT:Loop,NT:SiteID=0,NT:LabelType=List,NT:Number=10,NT:NewsType=Special,NT:SubNews=true,NT:SpecialID=" + (_LabelName.Replace("{NT_DynSpecialDC_", "")).TrimEnd('}') + "]·<a href=\"{#URL}\">{#Title}</a>  <span style=\"color:#999999;font-size:10px\">({#Date:Month}-{#Date:Day})</span>[/NT:Loop]";
            }
            else if (_LabelName.IndexOf("{NT_DynSpecialC_") > -1)
            {
                result = "[NT:unLoop,NT:SiteID=0,NT:LabelType=SpeicalNaviRead,NT:SpecialID=" + (_LabelName.Replace("{NT_DynSpecialC_", "")).TrimEnd('}') + ",NT:SpecialTitleNumber=30,NT:SpecialNaviTitleNumber=150][/NT:unLoop]";
            }
            LabelContent = result;
        }
        /// <summary>
        /// 解析自定义标签内容
        /// </summary>
        protected void ParseLabelConetent()
        {
            //_FinalHtmlCode = LabelContent;
            string pattern = @"\[NT:unLoop,[^\]]+\][\s\S]*?\[/NT:unLoop\]|\[NT:Loop,[^\]]+\][\s\S]*?\[/NT:Loop\]";
            Regex reg = new Regex(pattern, RegexOptions.Compiled);
            string content = LabelContent;
            Match m = reg.Match(content);
            while (m.Success)
            {
                string mass = m.Value.Trim();
                LabelMass labelmass = new LabelMass(mass, this._CurrentClassID, this._CurrentSpecialID, this._CurrentNewsID,this._CurrentChID,this._CurrentCHClassID,this._CurrentCHSpecialID,this._CurrentCHNewsID);
                labelmass.TemplateType = this._TemplateType;
                labelmass.ParseContent();
                string s = labelmass.Parse();
                content = content.Replace(mass, s);
                m = reg.Match(content);
            }
            this._FinalHtmlCode = content;
        }
        /// <summary>
        /// 生成最终的HTML代码
        /// </summary>
        /// <param name="cn"></param>
        public override void MakeHtmlCode()
        {
            ParseLabelConetent();
        }

    }
}

⌨️ 快捷键说明

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