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

📄 classadmin.ascx.cs

📁 这是我编的一小软件。请等级等待指教。呵呵。ASP的
💻 CS
字号:
namespace Seaskyer.WebApp.skyNews.Pages.AdminMSC
{
	using System;
	using System.Data;
	using System.Collections;
	using System.Drawing;
	using System.Web;
	using System.Web.UI.WebControls;
	using System.Web.UI.HtmlControls;
	using Seaskyer.Strings;

	/// <summary>
	///		ClassAdmin : 管理新闻分类。
	/// </summary>
	public class ClassAdmin : basePage
	{
		protected DataGrid DataGrid1;
		protected Label message;
		protected System.Web.UI.WebControls.TextBox className;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator;
		protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator;
		protected System.Web.UI.HtmlControls.HtmlInputHidden classid;
		protected System.Web.UI.WebControls.Button DeleSubmit;
		protected System.Web.UI.WebControls.Button DeleReturn;
		protected System.Web.UI.WebControls.CheckBox delenewsCheck;
		protected System.Web.UI.WebControls.Panel SortPanel;
		protected System.Web.UI.WebControls.Label labelName;
		protected System.Web.UI.WebControls.ListBox sortRules;
		protected System.Web.UI.WebControls.Button SortSubmit;
		protected System.Web.UI.WebControls.Button SortReturn;
		protected System.Web.UI.WebControls.Button UpSort;
		protected System.Web.UI.WebControls.Button DownSort;
		protected System.Web.UI.WebControls.DropDownList cid;
		protected System.Web.UI.WebControls.Panel DeleteConfirm;

		private void Page_Load(object sender, System.EventArgs e)
		{
			this.InitPage();

			if(!Page.IsPostBack)
			{
				this.GridBind();
			}
		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		///		设计器支持所需的方法 - 不要使用代码编辑器
		///		修改此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{
			this.DeleSubmit.Click += new System.EventHandler(this.DeleSubmit_Click);
			this.DeleReturn.Click += new System.EventHandler(this.DeleReturn_Click);
			this.UpSort.Click += new System.EventHandler(this.UpSort_Click);
			this.DownSort.Click += new System.EventHandler(this.DownSort_Click);
			this.SortSubmit.Click += new System.EventHandler(this.SortSubmit_Click);
			this.SortReturn.Click += new System.EventHandler(this.SortReturn_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}

		private void InitPage()
		{
			DataGrid1.Visible		= false;
			DeleteConfirm.Visible	= false;
			SortPanel.Visible		= false;
		}
		#endregion

		#region 绑定数据
		protected void GridBind()
		{
			DataGrid1.DataSource = user.classDt.DefaultView;
			DataGrid1.DataBind();
			DataGrid1.Visible = true;
		}
		#endregion

		#region 去掉DataGrid1的EnableViewState属性,减少发向客户端的数据
		protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
		{
			DataGrid1.Controls[0].EnableViewState = false;
		}
		#endregion

		#region 响应排序/删除事件

		protected void DataGrid1_Edit(object sender, DataGridCommandEventArgs e)
		{
			int item = (int)DataGrid1.DataKeys[(int)e.Item.ItemIndex];

			DataRow dr = ci[item];

			if( dr == null )
			{}
			else
			{
				labelName.Text = dr["className"].ToString();
				DataTable dt = bind.returnDataTable(user.classDt, "ParentID = " + dr["ParentID"], "SortID ASC", 0);
				for( int i = 0; i < dt.Rows.Count; i++ )
				{
					sortRules.Items.Add(new ListItem(dt.Rows[i]["className"].ToString(), dt.Rows[i]["ClassID"].ToString()+","+dt.Rows[i]["SortID"].ToString()));

					if( labelName.Text == dt.Rows[i]["className"].ToString() )
						sortRules.Items[i].Selected = true;
					else
						sortRules.Items[i].Selected = false;
				}
				dt.Clear();

				SortPanel.Visible = true;
			}
		}

		protected void DataGrid1_Delete(object sender, DataGridCommandEventArgs e)
		{
			int item = (int)DataGrid1.DataKeys[(int)e.Item.ItemIndex];

			DataRow dr = ci[item];

			if( dr == null )
			{}
			else
			{
				classid.Value	= dr["ChildCollection"].ToString();
				className.Text	= dr["className"].ToString();

				DeleteConfirm.Visible = true;
			}

		}
		#endregion

		#region 初始化DataGrid中子控件的属性
		protected void DataGrid1_ItemCreated(object sender, DataGridItemEventArgs e)
		{
			if(e.Item.ItemIndex >= 0)
			{
				e.Item.Attributes.Add("onmouseover","this.className='tdbg-dark';");
				e.Item.Attributes.Add("onmouseout","this.className='tdbg';");
			}

			switch(e.Item.ItemType)
			{
				case ListItemType.Item				:
				case ListItemType.AlternatingItem	:
				case ListItemType.EditItem			:
				HyperLink hl = (HyperLink)e.Item.FindControl("btnChange");
				hl.NavigateUrl = base.basePath + "Admin/ClassAdd.aspx?classid=" + (int)DataGrid1.DataKeys[(int)e.Item.ItemIndex];
				break;
			}
			e.Item.Cells[0].Visible = true;
		}
		#endregion

		#region	分类删除和排序代码
		/*
		 * ****************************************
		 * 以下代码信息:                         *
		 * 修 改 日 期 :   2005.08.08            *
		 * 作者        :	过去                  *
		 * Email       :	chihuaigang@163.com   *
		 * QQ号码      :	35525957	          *
		 * QQ群号码   :	711255                *
		 * ****************************************
		 */
		private void DeleSubmit_Click(object sender, System.EventArgs e)
		{
			DeleteConfirm.Visible = true;
			string deleClassid = classid.Value;
			dp.CommandText = String.Format(cmd["aClass", "DELETE"], deleClassid);
			//分类的删除
			if(dp.NonQuerySQL() > 0)
			{
				//判断相关新闻的删除
				if (delenewsCheck.Checked)
				{
					dp.CommandText = String.Format(cmd["Article","DELETE_CLASS"], deleClassid);
					if (dp.NonQuerySQL() > 0)
					{
						message.Text = "分类及其相关新闻删除成功!";
						message.ForeColor = Color.BlueViolet;
					}
					else
					{
						message.Text = "分类删除成功,无相关新闻!";
					}
							
				}
				else
				{
					message.Text = "分类删除成功!";message.ForeColor = Color.BlueViolet;
				}

				//Globals.ClassCollection = null;
				Cache.Remove("classCache");
			}
			else
			{
				message.Text = "分类删除失败!";message.ForeColor = Color.Red;
			}
			
			message.Visible = true;

		}

		private void DeleReturn_Click(object sender, System.EventArgs e)
		{
			Response.Redirect(basePath + "Admin/ClassAdmin.aspx");
		}
		// 确定排序规则
		private void SortSubmit_Click(object sender, System.EventArgs e)
		{
			SortPanel.Visible = true;
			for (int i=0;i<sortRules.Items.Count;i++)
			{
				//取得分类和排序的ID
				string itemvalue = sortRules.Items[i].Value;
				string [] splititem =itemvalue.Split(new char[] {','});
				string _classid=splititem[0].ToString();
				string _sortid = splititem[1].ToString();

				dp.CommandText = cmd["aClass", "UPDATE_SORT"];
				// 开始为参数赋值
				dp.Parameter.Add( "SortID",		int.Parse(_sortid));
				dp.Parameter.Add( "ClassID",	_classid);
				
				int Tnum = dp.NonQuerySQL();
				if(Tnum > 0)
				{
					message.Text = "分类更新成功!";message.ForeColor = Color.BlueViolet;
					//Globals.ClassCollection = null;
					Cache.Remove("classCache");

				}
				else
				{
					message.Text = "分类更新失败!";message.ForeColor = Color.Red;
				}
			}
			message.Visible = true;

			//Response.Redirect(basePath + "Admin/ClassAdmin.aspx");
		}

		private void SortReturn_Click(object sender, System.EventArgs e)
		{
			Response.Redirect(basePath + "Admin/ClassAdmin.aspx");
		}

		private void UpSort_Click(object sender, System.EventArgs e)
		{
			int selectedIndex		= sortRules.SelectedIndex;
			SortPanel.Visible = true;
			if( selectedIndex == 0 )
			{
				UpSort.Enabled = false;
				DownSort.Enabled = true;
				return;
			}
			else
			{
				UpSort.Enabled = true;
				DownSort.Enabled = true;
				//取得本条记录的名称
				string selectedText		= sortRules.SelectedItem.Text;
				string selectedValue	= sortRules.SelectedItem.Value;
				string [] splititem =selectedValue.Split(new char[] {','});
				string classIdvalue = splititem[0].ToString();
				string sortvalue = splititem[1].ToString();

				//取得上一条记录的名称
				sortRules.SelectedIndex	= selectedIndex-1;
				string upselectedText	= sortRules.SelectedItem.Text;
				string upselectedValue	= sortRules.SelectedItem.Value;
				string [] upsplititem =upselectedValue.Split(new char[] {','});
				string upclassIdvalue = upsplititem[0].ToString();
				string upsortvalue = upsplititem[1].ToString();

				//上下两条记录进行交换
				sortRules.SelectedIndex	= selectedIndex;
				sortRules.SelectedItem.Text = upselectedText;
				sortRules.SelectedItem.Value = upclassIdvalue.Trim()+","+sortvalue.Trim();
			
				sortRules.SelectedIndex	= selectedIndex-1;
				sortRules.SelectedItem.Text = selectedText;
				sortRules.SelectedItem.Value = classIdvalue.Trim()+","+upsortvalue.Trim();
			
			}

		}

		private void DownSort_Click(object sender, System.EventArgs e)
		{
			
			int selectedIndex		= sortRules.SelectedIndex;
			SortPanel.Visible = true;
			if( selectedIndex == sortRules.Items.Count - 1 )
			{
				UpSort.Enabled = true;
				DownSort.Enabled = false;
				return;
			}
			else
			{
				UpSort.Enabled = true;
				DownSort.Enabled = true;
				//取得本条记录的名称
				string selectedText		= sortRules.SelectedItem.Text;
				string selectedValue	= sortRules.SelectedItem.Value;
				string [] splititem =selectedValue.Split(new char[] {','});
				string classIdvalue = splititem[0].ToString();
				string sortvalue = splititem[1].ToString();

				//取得下一条记录的名称
				sortRules.SelectedIndex	= selectedIndex+1;
				string downselectedText	= sortRules.SelectedItem.Text;
				string downselectedValue	= sortRules.SelectedItem.Value;
				string [] downsplititem =downselectedValue.Split(new char[] {','});
				string downclassIdvalue = downsplititem[0].ToString();
				string downsortvalue = downsplititem[1].ToString();

				//上下两条记录进行交换
				sortRules.SelectedIndex	= selectedIndex;
				sortRules.SelectedItem.Text = downselectedText;
				sortRules.SelectedItem.Value = downclassIdvalue.Trim()+","+sortvalue.Trim();
			
				sortRules.SelectedIndex	= selectedIndex+1;
				sortRules.SelectedItem.Text = selectedText;
				sortRules.SelectedItem.Value = classIdvalue.Trim()+","+downsortvalue.Trim();
			
			}

		}
		#endregion

	

	}
}

⌨️ 快捷键说明

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