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

📄 labelmass_method5.cs

📁 最好用的站点内容管理系统 全部源代码都有
💻 CS
📖 第 1 页 / 共 5 页
字号:
//======================================================
//==     (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;
using NetCMS.Model;

namespace NetCMS.Publish
{
    public partial class LabelMass
    {
        /// <summary>
        /// 生成列表类信息,频道
        /// </summary>
        /// <param name="ChID">频道ID</param>
        /// <returns>返回值</returns>
        public string Analyse_ChannellList(string Tags,int ChID)
        {
            //判断数据库是否存在
            string ChTable = CommonData.DalPublish.GetCHDatable(ChID);
            if (ChTable == "#")
            {
                return "频道数据库找不到!";
            }
            string mystyle = this.Mass_Inserted;
            string styleid = Regex.Match(mystyle, @"\[\#NT:StyleID=(?<sid>[^\]]+)]", RegexOptions.Compiled).Groups["sid"].Value.Trim();
            if (!styleid.Equals(string.Empty))
            {
                mystyle = LabelStyle.GetCHStyleByID(int.Parse(styleid), ChID);
            }
            if (mystyle.Trim().Equals(string.Empty))
                return string.Empty;

            string str_NewsType = this.GetParamValue("NT:Type");
            string str_ClassID = this.GetParamValue("NT:ClassID");
            string str_SpecialID = this.GetParamValue("NT:SpecialID");
            int n_Cols;
            if (!int.TryParse(this.GetParamValue("NT:Cols"), out n_Cols))
                n_Cols = 1;
            if (n_Cols < 1)
                n_Cols = 1;
            string str_Desc = this.GetParamValue("NT:Desc");
            string str_DescType = this.GetParamValue("NT:OrderBy");
            string str_isDiv = this.GetParamValue("NT:isDiv");
            string str_isPic = this.GetParamValue("NT:isPic");
            string str_TitleNumer = this.GetParamValue("NT:TitleNumer");
            string str_ClickNumber = this.GetParamValue("NT:ClickNumber");
            string str_ShowDateNumer = this.GetParamValue("NT:ShowDateNumer");
            string str_ShowNavi = this.GetParamValue("NT:ShowNavi");
            string str_NaviCSS = this.GetParamValue("NT:NaviCSS");
            string str_ColbgCSS = this.GetParamValue("NT:ColbgCSS");
            string SqlFields = " [ID] ";
            string SqlCondition = ChTable + " Where [islock]=0";
            //-------判断是否调用图片
            if (str_isPic == "true")
            {
                SqlCondition += " And [PicURL]<>''";
            }
            else if (str_isPic == "false")
            {
                SqlCondition += "And [PicURL]=''";
            }
            //-------判断是否显示点击率大于多少
            if (str_ClickNumber != null && str_ClickNumber != "")
            {
                SqlCondition += " And [Click] > " + int.Parse(str_ClickNumber);
            }
            //-------判断显示最近多少天内信息
            if (str_ShowDateNumer != null && str_ShowDateNumer != "")
            {
                SqlCondition += " And DateDiff(Day,[CreatTime] ,Getdate()) < " + int.Parse(str_ShowDateNumer);
            }
            //判断是否相关新闻
            if (Tags != null && Tags != string.Empty)
            {
                SqlCondition += " And ([Tags] Like '%" + Tags + "%' or title Like '%" + Tags + "%')";
            }

            ///判断新闻类型  推荐|热点|幻灯|滚动|头条
            switch (str_NewsType)
            {
                case "last":
                    break;
                case "rec":
                    SqlCondition += " And ContentProperty like '1%'";
                    break;
                case "mar":
                    SqlCondition += " And ContentProperty like '______1%'";
                    break;
                case "hot":
                    SqlCondition += " And ContentProperty like '__1%'";
                    break;
                case "filt":
                    SqlCondition += " And ContentProperty like '____1%'";
                    break;
                case "tnews":
                    SqlCondition += " And ContentProperty like '________1%'";
                    break;
                case "special":
                    if (str_SpecialID != null)
                    {
                        SqlCondition += " And SpecialID='" + str_SpecialID + "'";
                    }
                    else if (this.Param_CurrentSpecialID != null)
                    {
                        SqlCondition += " And SpecialID='" + this.Param_CurrentSpecialID + "'";
                    }
                    else
                    {
                        return string.Empty;
                    }
                    break;
                case "constr":
                    SqlCondition += " And [isConstr]=1";
                    break;
                default:
                    break;
            }
            string SqlOrderBy = string.Empty;
            //-------排序
            if (str_NewsType == "last")
            {
                SqlOrderBy += " order by CreatTime desc,ID Desc";
            }
            else
            {
                if (str_Desc != null && str_Desc.ToLower() == "asc")
                {
                    SqlOrderBy += " asc";
                }
                else
                {
                    SqlOrderBy += " Desc";
                }
                switch (str_DescType)
                {
                    case "id":
                        SqlOrderBy = " Order By id " + SqlOrderBy + "";
                        break;
                    case "CreatTime":
                        SqlOrderBy = " Order By [CreatTime] " + SqlOrderBy + ",id " + SqlOrderBy + "";
                        break;
                    case "click":
                        SqlOrderBy = " Order By [Click] " + SqlOrderBy + ",id " + SqlOrderBy + "";
                        break;
                    case "orderid":
                        SqlOrderBy = " Order By [OrderID]" + SqlOrderBy + ",id " + SqlOrderBy + "";
                        break;
                    default:
                        if (str_NewsType == "hot")
                        {
                            SqlOrderBy = " Order By [Click] " + SqlOrderBy + ",id " + SqlOrderBy + "";
                        }
                        else
                        {
                            SqlOrderBy = " Order By [CreatTime] " + SqlOrderBy + ",id " + SqlOrderBy + "";
                        }
                        break;
                }
            }
            #region 对栏目进行判断
            string Sql = string.Empty;
            #region 子类
            if (str_ClassID == null || str_ClassID == "0")
            {
                if (this._TemplateType == TempType.ChClass)
                {
                    SqlCondition += " And [ClassID]=" + this.Param_CurrentCHClassID + "";
                    Sql = "select top " + Param_Loop + " " + SqlFields + " from " + SqlCondition + " " + SqlOrderBy;
                }
                else
                {
                    Sql = "select top " + Param_Loop + " " + SqlFields + " from " + SqlCondition + SqlOrderBy;
                }
            }
            else if (str_ClassID == "-1")
            {
                Sql = "select top " + Param_Loop + " " + SqlFields + " from " + SqlCondition + SqlOrderBy;
            }
            else
            {
                SqlCondition += " And [ClassID] =" + int.Parse(str_ClassID) + "";
                Sql = "select top " + Param_Loop + " " + SqlFields + " from " + SqlCondition + SqlOrderBy;
            }
            #endregion
            #endregion 对栏目进行判断
            DataTable dt = CommonData.DalPublish.ExecuteSql(Sql);
            if (dt == null || dt.Rows.Count < 1) return string.Empty;
            string str_newslist = string.Empty;
            int i;
            int nTitleNum = 30;
            if (str_TitleNumer != null && NetCMS.Common.Input.IsInteger(str_TitleNumer))
            {
                nTitleNum = int.Parse(str_TitleNumer);
            }
            int dtcount = dt.Rows.Count;
            string[] arr_ColbgCSS = null;
            bool b_ColbgCss = false;
            if (str_ColbgCSS != null)
            {
                arr_ColbgCSS = str_ColbgCSS.Split('|');
                b_ColbgCss = true;
            }

            string row = string.Empty;

            for (i = 0; i < dtcount; i++)
            {
                str_ColbgCSS = "";
                if (b_ColbgCss)
                {
                    if (i % 2 == 0)
                        str_ColbgCSS = " class=\"" + arr_ColbgCSS[0].ToString() + "\"";
                    else
                        str_ColbgCSS = " class=\"" + arr_ColbgCSS[1].ToString() + "\"";
                }

                if (str_isDiv == "false")
                {
                    row = getNavi(str_ShowNavi, str_NaviCSS, "", i) + " ";
                    row += Analyse_ChRead((int)dt.Rows[i][0], nTitleNum, mystyle, styleid, 0, ChTable, ChID);
                    if (n_Cols == 1)
                    {
                        str_newslist += "<tr>" + newLine + "<td" + str_ColbgCSS + ">" + newLine + row + newLine + "</td>" + newLine + "</tr>" + newLine;
                    }
                    else
                    {
                        row = "<td width=\"" + (100 / n_Cols) + "%\"" + str_ColbgCSS + ">" + newLine + row + newLine + "</td>" + newLine;
                        if (i > 0 && ((i + 1) % n_Cols == 0))
                            row += "</tr>" + newLine + "<tr>" + newLine;
                        str_newslist += row;
                    }
                }
                else
                {
                    str_isDiv = "true";
                    str_newslist += getNavi(str_ShowNavi, str_NaviCSS, "", i);
                    str_newslist += Analyse_ChRead((int)dt.Rows[i][0], nTitleNum, mystyle, styleid, 0, ChTable, ChID);
                }
            }
            dt.Clear();
            dt.Dispose();

⌨️ 快捷键说明

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