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

📄 columnmanage.aspx.cs

📁 计算机学院网站及管理系统
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

namespace ComputerWeb
{
	/// <summary>
	/// Summary description for ManageSubtopic.
	/// </summary>
	public class ManageSubtopic : System.Web.UI.Page
	{		
		protected System.Web.UI.WebControls.ImageButton upBtn;
		protected System.Web.UI.WebControls.ImageButton downBtn;
		protected System.Web.UI.WebControls.ImageButton editBtn;
		protected System.Web.UI.WebControls.ImageButton deleteBtn;
		protected System.Web.UI.WebControls.Button UpdateBtn;
		protected System.Web.UI.WebControls.Panel UpdatePanel;
		protected System.Web.UI.WebControls.DropDownList TabList;
		protected System.Web.UI.WebControls.DropDownList ModuleList;
		protected System.Web.UI.WebControls.ListBox ColumnList;
		protected System.Web.UI.WebControls.TextBox EditColumnName;
		protected System.Web.UI.WebControls.TextBox ColumnName;
		protected System.Web.UI.WebControls.Button AddColumn;


		private void Page_Load(object sender, System.EventArgs e)
		{			
			if(!Page.IsPostBack)
			{
				BindTabData();
                 
				if(TabList.SelectedIndex > -1)
				{
					BindModuleData(Int32.Parse(TabList.SelectedValue));		

					if(ModuleList.SelectedIndex > -1)
					{
						BindColumnData(Int32.Parse(ModuleList.SelectedValue));
					}
				}
			}
			deleteBtn.Attributes.Add("onclick","return confirm('你确定要删除所选择的模块吗?');");
		}

		private void BindTabData()
		{
			TabList.Items.Clear();

			TabDB tab = new TabDB();
			SqlDataReader rect = tab.GetTabs();

			TabList.DataSource = rect;
			TabList.DataTextField = "TabName";
			TabList.DataValueField = "TabID";
			TabList.DataBind();

			rect.Close();
		}

		private void BindModuleData(int nTabID)
		{
			ModuleDB module = new ModuleDB();
			SqlDataReader recm = module.GetModules(nTabID);

			ModuleList.DataSource = recm;
			ModuleList.DataTextField = "ModuleName";
			ModuleList.DataValueField = "ModuleID";
			ModuleList.DataBind();

			recm.Close();
		}

		private void BindColumnData(int nModuleID)
		{
			ColumnDB column = new ColumnDB();
			SqlDataReader recc = column.GetColumns(nModuleID);

			ColumnList.DataSource = recc;
			ColumnList.DataTextField = "ColumnName";
			ColumnList.DataValueField = "ColumnID";
			ColumnList.DataBind();

			recc.Close();
		}

		private void AddColumn_Click(object sender, System.EventArgs e)
		{
			if(ColumnName.Text.Trim() != "")
			{
				ColumnDB column = new ColumnDB();

				try
				{
					column.AddColumn(ColumnName.Text.Trim(),Int32.Parse(ModuleList.SelectedValue),ColumnList.Items.Count);
				}
				catch(Exception ex)
				{
					string sRawURL = Request.RawUrl;

					if(sRawURL.IndexOf("?") > -1)
					{
						sRawURL = sRawURL.Substring(0,sRawURL.IndexOf("?"));
					}				
					Response.Redirect("~/DesktopModules/ErrorPage.aspx?ErrorUrl=" + sRawURL + "&ErrorMessage=" + ex.Message.Replace("\n"," "));
				}

				//重新绑定数据
				ColumnName.Text = "";
				BindColumnData(Int32.Parse(ModuleList.SelectedValue));
			}
			else
			{
				Response.Write("<script>alert(\"请选择你的数据项(或模块名不能为空)!\")</script>");
			}				
		}

		private void EditDeleteBtn_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			String commandName = ((ImageButton)sender).CommandName;

			if(ColumnList.SelectedIndex > -1)
			{
				switch(commandName)
				{	
					case "up":
					{
						if(ColumnList.SelectedIndex > 0)
						{
							UpdateOrder(commandName);
						}

						//控制更新Panel的可见性
						ControlUpdatePanelVisible();

						break;
					}
					case "down":
					{
						if(ColumnList.SelectedIndex < ColumnList.Items.Count -1)
						{
							UpdateOrder(commandName);
						}

						//控制更新Panel的可见性
						ControlUpdatePanelVisible();

						break;
					}
					case "edit":
					{
						UpdateColumnName();
						
						break;
					}
					case "delete":
					{
						DeleteColumn();

						//控制更新Panel的可见性
						ControlUpdatePanelVisible();

						break;
					}
					default:
					{
						//控制更新Panel的可见性
						ControlUpdatePanelVisible();

						break;
					}
				}
				if((commandName != "")&&(commandName != "edit"))
				{
					BindColumnData(Int32.Parse(ModuleList.SelectedValue));
				}
			}
			else
			{
				Response.Write("<script>alert(\"请选择你的数据项!\")</script>");
			}		
		}

		private void UpdateColumnName()
		{
			UpdatePanel.Visible = true;	

			if(ColumnList.SelectedIndex > -1)
			{
				EditColumnName.Text = ColumnList.SelectedItem.Text;
			}
			else
			{
				Response.Write("<script>alert(\"请选择你的数据项!\")</script>");
			}			
		}

		private void UpdateOrder(String commandName)
		{
			ColumnDB column = new ColumnDB();

			try
			{
				column.UpdateColumnOrder(Int32.Parse(ModuleList.SelectedValue),
					Int32.Parse(ColumnList.SelectedValue),
					commandName);
			}
			catch(Exception ex)
			{
				string sRawURL = Request.RawUrl;

				if(sRawURL.IndexOf("?") > -1)
				{
					sRawURL = sRawURL.Substring(0,sRawURL.IndexOf("?"));
				}				
				Response.Redirect("~/DesktopModules/ErrorPage.aspx?ErrorUrl=" + sRawURL + "&ErrorMessage=" + ex.Message.Replace("\n"," "));
			}
		}

		private void DeleteColumn()
		{
			ColumnDB column = new ColumnDB();

			try
			{
				column.DeleteColumn(Int32.Parse(ColumnList.SelectedValue));
			}
			catch(Exception ex)
			{
				string sRawURL = Request.RawUrl;

				if(sRawURL.IndexOf("?") > -1)
				{
					sRawURL = sRawURL.Substring(0,sRawURL.IndexOf("?"));
				}				
				Response.Redirect("~/DesktopModules/ErrorPage.aspx?ErrorUrl=" + sRawURL + "&ErrorMessage=" + ex.Message.Replace("\n"," "));
			}
		}

		private void ControlUpdatePanelVisible()
		{
			if(UpdatePanel.Visible == true)
			{
				UpdatePanel.Visible = false;
			}
		}

		private void UpdateBtn_Click(object sender, System.EventArgs e)
		{
			if(EditColumnName.Text.Trim() != "")
			{				
				UpdatePanel.Visible = false;

				ColumnDB column = new ColumnDB();

				try
				{
					column.UpdateColumnName(Int32.Parse(ColumnList.SelectedValue),EditColumnName.Text.Trim());
				}
				catch(Exception ex)
				{
					string sRawURL = Request.RawUrl;

					if(sRawURL.IndexOf("?") > -1)
					{
						sRawURL = sRawURL.Substring(0,sRawURL.IndexOf("?"));
					}				
					Response.Redirect("~/DesktopModules/ErrorPage.aspx?ErrorUrl=" + sRawURL + "&ErrorMessage=" + ex.Message.Replace("\n"," "));
				}

				BindColumnData(Int32.Parse(ModuleList.SelectedValue));
			}		
		}


		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{    
			this.TabList.SelectedIndexChanged += new System.EventHandler(this.TabList_SelectedIndexChanged);
			this.ModuleList.SelectedIndexChanged += new System.EventHandler(this.ModuleList_SelectedIndexChanged);
			this.upBtn.Click += new System.Web.UI.ImageClickEventHandler(this.EditDeleteBtn_Click);
			this.downBtn.Click += new System.Web.UI.ImageClickEventHandler(this.EditDeleteBtn_Click);
			this.editBtn.Click += new System.Web.UI.ImageClickEventHandler(this.EditDeleteBtn_Click);
			this.deleteBtn.Click += new System.Web.UI.ImageClickEventHandler(this.EditDeleteBtn_Click);
			this.UpdateBtn.Click += new System.EventHandler(this.UpdateBtn_Click);
			this.AddColumn.Click += new System.EventHandler(this.AddColumn_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		private void TabList_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			if(TabList.SelectedIndex > -1)
			{
				BindModuleData(Int32.Parse(TabList.SelectedValue));
				if(ModuleList.SelectedIndex > -1)
				{
					BindColumnData(Int32.Parse(ModuleList.SelectedValue));
				}
				else
				{
					ColumnList.Items.Clear();
				}
			}
			else
			{
				ModuleList.Items.Clear();
			}
		}

		private void ModuleList_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			if(ModuleList.SelectedIndex > -1)
			{
				BindColumnData(Int32.Parse(ModuleList.SelectedValue));
			}
			else
			{
				ColumnList.Items.Clear();
			}
		}
	}
}

⌨️ 快捷键说明

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