📄 news_manage.aspx.cs
字号:
//======================================================
//== (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("成功将条新闻复制到 <font color=red>" + sclasstext + "</font> 栏目中!", "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("成功将新闻复制到 <font color=red>" + sclasstext + "</font> 栏目中!", "");
}
#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 + -