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

📄 news_manage.aspx.cs

📁 最好用的站点内容管理系统 全部源代码都有
💻 CS
📖 第 1 页 / 共 3 页
字号:
//======================================================
//==     (c)2008 aspxcms inc by NeTCMS v1.0              ==
//==          Forum:bbs.aspxcms.com                   ==
//==         Website:www.aspxcms.com                  ==
//======================================================
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Text.RegularExpressions;
using NetCMS.Content;

public partial class manage_news_News_Manage : NetCMS.Web.UI.ManagePage
{
    ContentManage td = new ContentManage();
    private DataTable TbClass;
    private string OriginalType;
    private string sOrgNews = "";
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            int flag = 0;
            this.Panel1.Visible = this.Panel2.Visible = false;
            if (Request.QueryString["Option"] != null && Request.QueryString["dbtab"] != null && !Request.QueryString["dbtab"].Trim().Equals(""))
            {
                this.LblNewsTable.Text = Request.QueryString["dbtab"].Trim();
                string sssss = Request.QueryString["dbtab"].Trim();
                switch (Request.QueryString["Option"])
                {
                    case "BnProperty":
                        this.Authority_Code = "C015";
                        this.CheckAdminAuthority();
                        this.LblNarrate.Text = "批量设置";
                        this.BtnOK.Text = "确定按照以上方式开始设置";
                        this.BtnOK.CommandName = "set";
                        this.Panel2.Visible = true;
                        flag = 0;
                        break;
                    case "BnMove":
                        this.Authority_Code = "C009";
                        this.CheckAdminAuthority();
                        this.LblNarrate.Text = "移动到 >>";
                        this.BtnOK.Text = "确定开始移动";
                        this.BtnOK.CommandName = "move";
                        this.Panel1.Visible = true;
                        flag = 1;
                        break;
                    case "BnCopy":
                        this.Authority_Code = "C010";
                        this.CheckAdminAuthority();
                        this.LblNarrate.Text = "复制到 >>";
                        this.BtnOK.Text = "确定开始复制";
                        this.BtnOK.CommandName = "copy";
                        this.Panel1.Visible = true;
                        flag = 2;
                        break;
                    default:
                        PageError("没有参数或是参数无效!", "");
                        return;
                }
            }
            else
            {
                PageError("没有参数或是参数无效!", "");
                return;
            }
            TbClass = td.sel_newsInfo(9);
            if (Request.QueryString["ids"] != null && !Request.QueryString["ids"].Trim().Equals(""))
            {
                this.LblIDs.Text = Request.QueryString["ids"];
                this.DdlType.SelectedValue = "0";
                BindNews();
            }
            else
            {
                this.DdlType.SelectedValue = "1";
                BindClass();
                this.DdlType.Enabled = false;
            }
            if (flag == 1 || flag == 2)
            {
                this.LstTarget.Items.Clear();
                ClassRender(this.LstTarget, "0", 0);
            }
        }

    }
    private void BindNews()
    {
        this.LstOriginal.Items.Clear();
        string id =this.LblIDs.Text.Trim();
        if (!id.Equals(""))
        {
            string s = this.LblIDs.Text;
            string sfilter = this.LblNewsTable.Text;
            DataTable tb = null;
            if (s.IndexOf(",") > 0)
            {
                string ss = s.Replace(",", "','");
                tb = td.sel_infoByStr(sfilter, ss,3);
            }
            else
            {
                tb = td.sel_infoByStr(sfilter, s,3);
            }
            if (tb != null)
            {
                foreach (DataRow r in tb.Rows)
                {
                    ListItem it = new ListItem();
                    it.Value = r[0].ToString();
                    it.Text = r[2].ToString();
                    this.LstOriginal.Items.Add(it);
                }
                tb.Dispose();
                this.LstOriginal.Enabled = false;
            }
        }
    }
    private void BindClass()
    {
        if (TbClass == null || TbClass.Rows.Count < 1)
        {
            TbClass = td.sel_newsInfo(9);
        }
        this.LstOriginal.Items.Clear();
        ClassRender(this.LstOriginal, "0", 0);
        this.LstOriginal.Enabled = true;
    }
    private void ClassRender(ListBox lst, string PID, int Layer)
    {
        NetCMS.Content.Common.rootPublic rp = new NetCMS.Content.Common.rootPublic();
        DataTable dts = rp.getClassListPublic(PID);
        if (dts.Rows.Count < 1)
            return;
        else
        {
            foreach (DataRow r in dts.Rows)
            {
                ListItem it = new ListItem();
                string stxt = "";
                it.Value = r["ClassID"].ToString();
                if (Layer > 0)
                    stxt = "┝";
                for (int i = 1; i < Layer; i++)
                {
                    stxt += "┉";
                }
                it.Text = stxt + r["ClassCName"].ToString();
                lst.Items.Add(it);
                ClassRender(lst, r["ClassID"].ToString(), Layer + 1);
            }
        }
    }
    protected void DdlType_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (this.DdlType.SelectedValue.Equals("0"))
        {
            this.BindNews();
        }
        else
        {
            this.BindClass();
        }
    }
    protected void BtnOK_Click(object sender, EventArgs e)
    {
        OriginalType = this.DdlType.SelectedValue;
        if (OriginalType.Equals("0"))//对选中的新闻进行操作
        {
            if (this.LstOriginal.Items.Count < 1)
            {
                PageError("没有要进行操作的新闻!", "News_List.aspx");
                return;
            }
            for (int i = 0; i < this.LstOriginal.Items.Count; i++)
            {
                if (i > 0) sOrgNews += ",";
                sOrgNews += "'" + this.LstOriginal.Items[i].Value + "'";
            }
        }
        else if (OriginalType.Equals("1"))//对选中的栏目进行操作
        {
            if (this.LstOriginal.SelectedValue.Trim().Equals(""))
            {
                PageError("请选择要进行操作的栏目!", "News_List.aspx");
                return;
            }
        }
        else
        {
            PageError("错误的原始数据类型!", "News_List.aspx");
            return;
        }
        switch (this.BtnOK.CommandName)
        {
            case "set":
                if (OriginalType.Equals("0"))
                    NewsSet();
                else if (OriginalType.Equals("1"))
                    ClassSet();
                break;
            case "copy":
                if (this.LstTarget.SelectedValue.Trim().Equals(""))
                {
                    PageError("请选择要复制到的栏目!", "News_List.aspx");
                    return;
                }
                if (OriginalType.Equals("1") && this.LstOriginal.SelectedValue.Trim().Equals(this.LstTarget.SelectedValue.Trim()))
                {
                    PageError("要进行操作的栏目和目标栏目不能相同!", "News_List.aspx");
                    return;
                }
                if (OriginalType.Equals("0"))
                    NewsCopy();
                else if (OriginalType.Equals("1"))
                    ClassCopy();
                break;
            case "move":
                if (this.LstTarget.SelectedValue.Trim().Equals(""))
                {
                    PageError("请选择要移动到的栏目!", "News_List.aspx");
                    return;
                }
                if (OriginalType.Equals("1") && this.LstOriginal.SelectedValue.Trim().Equals(this.LstTarget.SelectedValue.Trim()))
                {
                    PageError("要进行操作的栏目和目标栏目不能相同!", "News_List.aspx");
                    return;
                }
                if (OriginalType.Equals("0"))
                    NewsMove();
                else if (OriginalType.Equals("1"))
                    ClassMove();
                break;
        }
    }
    /// <summary>
    /// 对选中新闻复制
    /// </summary>
    /// 
    #region 对选中新闻复制
    protected void NewsCopy()
    {
        //td.delTBDateNumber(SearchEngine.datenumber());
        //td.delTBTypeNumber(SearchEngine.conditionnumbers());
        string sclassid = this.LstTarget.SelectedValue.Trim();
        string sclasstext = td.getClassContent(sclassid, 3).Rows[0]["ClassCName"].ToString();
        string sTb = this.LblNewsTable.Text.Trim();
        bool flag = CheckClass(sclassid);
        if (flag)
        {
            PageError("不能将新闻复制到外部栏目!", "News_List.aspx");
            return;
        }
        string DataLib = td.getClassContent(sclassid, 3).Rows[0]["DataLib"].ToString();
        string[] sNews = sOrgNews.Split(',');
        for (int i = 0; i < sNews.Length; i++)
        {
        ID:
            string NewsID = NetCMS.Common.Rand.Number(12);
            if (td.delUpdate_news(NewsID,6) > 0) { goto ID; }
            string _FileName = td.getFileNameInfo(sNews[i], sTb);
            td.Copy_news(sclassid, DataLib, sNews[i], sTb, NewsID, _FileName);
        }
        PageRight("成功将条新闻复制到&nbsp;<font color=red>" + sclasstext + "</font>&nbsp;栏目中!", "News_List.aspx");
    }
    #endregion
    /// <summary>
    /// 对选中栏目复制
    /// </summary>
    /// 
    #region 对选中栏目复制
    protected void ClassCopy()
    {
        string str = "";
        for (int l = 0; l < this.LstOriginal.Items.Count; l++)
        {
            if (this.LstOriginal.Items[l].Selected)
            {
                str += this.LstOriginal.Items[l].Value + ",";
            }
        }
        string[] soclass = NetCMS.Common.Public.Lost(str).Split(',');
        string stclass = this.LstTarget.SelectedValue.Trim();
        string sclasstext = td.getClassContent(stclass, 3).Rows[0]["ClassCName"].ToString();
        string DataLibs = td.getClassContent(stclass, 3).Rows[0]["DataLib"].ToString();
        for (int k = 0; k < soclass.Length; k++)
        {
            bool flag = CheckClass(soclass[k]);
            if (flag)
            {
                PageError("不能复制外部栏目的新闻!", "News_List.aspx");
            }
            bool flag1 = CheckClass(stclass);
            if (flag1)
            {
                PageError("不能将栏目的所有新闻复制到外部栏目!", "News_List.aspx");
            }
            string DataLib = td.getClassContent(soclass[k], 3).Rows[0]["DataLib"].ToString();
            DataTable dts6 = td.sel_infoByStr(DataLib, soclass[k],4);
            for (int i = 0; i < dts6.Rows.Count; i++)
            {
            ID:
                string NewsID = NetCMS.Common.Rand.Number(12);
                if (td.delUpdate_news(NewsID,6) != 0) { goto ID; }
                string _FileName = td.getFileNameInfo(dts6.Rows[i]["id"].ToString(), DataLib);
                td.Copy_ClassNews(stclass, DataLibs, dts6.Rows[i]["id"].ToString(), DataLib, NewsID, _FileName);
            }
        }
        PageRight("成功将新闻复制到&nbsp;<font color=red>" + sclasstext + "</font>&nbsp;栏目中!", "");
    }
    #endregion
    /// <summary>
    /// 对选中新闻转移
    /// </summary>
    /// 
    #region 对选中新闻转移
    protected void NewsMove()
    {
        string sclassid = this.LstTarget.SelectedValue.Trim();
        string sclasstext = td.getClassContent(sclassid, 3).Rows[0]["ClassCName"].ToString();
        string sTb = this.LblNewsTable.Text.Trim();
        bool flag = CheckClass(sclassid);
        if (flag)
        {
            PageError("不能将新闻移动到外部栏目!", "News_List.aspx");
            return;
        }
        string DataLib = td.getClassContent(sclassid, 3).Rows[0]["DataLib"].ToString();
        string[] sNews = sOrgNews.Split(',');
        for (int i = 0; i < sNews.Length; i++)
        {
        ID:
            string NewsID = NetCMS.Common.Rand.Number(12);
            int getCount=td.delUpdate_news(NewsID,6);
            if (getCount > 0) { goto ID; }
            td.Copy_news(sclassid, DataLib, sNews[i], sTb, NewsID, "");
            if (td.del_moveInfo(sTb, sNews[i]) == 0)
            {

⌨️ 快捷键说明

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