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

📄 articleedit.aspx.cs

📁 ASP.NET的一些开发实例,有论坛管理系统等
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Globalization;
using System.Data;
using System.Data.OleDb;
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 Service;

namespace PKMS
{
	/// <summary>
	/// ArticleEdit 的摘要说明。
	/// </summary>
	public class ArticleEdit : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.TextBox TextBox_Topic;
		protected System.Web.UI.WebControls.TextBox TextBox_KeyWords;
		protected System.Web.UI.WebControls.TextBox TextBox_Source;
		protected System.Web.UI.WebControls.Button Button_Save;
		protected System.Web.UI.WebControls.Button Button_New;
		protected System.Web.UI.WebControls.DropDownList DropDownList_Folder;
		protected System.Web.UI.WebControls.Button Button_Parent;
		protected System.Web.UI.WebControls.TextBox TextBox_FullPath;
		protected System.Web.UI.HtmlControls.HtmlTextArea TEXTAREA_Content;
		private string ArticleID
		{
			get
			{
				if(this.ViewState["ArticleID"] != null)
				{
					return this.ViewState["ArticleID"].ToString();
				}
				else
				{
					return null;
				}
			}
			set
			{
				this.ViewState["ArticleID"] = value;
			}
		}
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面
			if(!this.IsPostBack)
			{
				ArticleID = this.Request.QueryString["ArticleID"];
				if(ArticleID != null)
				{
					DataAccessor da = new DataAccessor();
					DataRow dr = da.ExecuteRecord("Select Topic, KeyWords, Source, Content, FolderID, UploadDate, UpdateDate, M.MenuName From ARTICLE, Menu M Where M.MenuCode=FolderID And ArticleID=" + ArticleID);
					this.TextBox_Topic.Text = dr["Topic"].ToString();
					this.TextBox_KeyWords.Text += dr["KeyWords"].ToString();
					this.TextBox_Source.Text += dr["Source"].ToString();
					this.TEXTAREA_Content.Value = dr["Content"].ToString();
					da.Close();
					this.ListChildren(dr["FolderID"].ToString(), dr["MenuName"].ToString());
				}
				else
				{
					string MenuCode = this.Request.QueryString["FolderID"];
					DataAccessor da = new DataAccessor();
					string MenuName = da.ExecuteScalar("Select MenuName From Menu Where MenuCode='" + MenuCode + "'").ToString();
					da.Close();
					this.ListChildren(MenuCode, MenuName);
					this.TEXTAREA_Content.Value = "";
				}
			}
		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.DropDownList_Folder.SelectedIndexChanged += new System.EventHandler(this.DropDownList_Folder_SelectedIndexChanged);
			this.Button_Parent.Click += new System.EventHandler(this.Button_Parent_Click);
			this.Button_Save.Click += new System.EventHandler(this.Button_Save_Click);
			this.Button_New.Click += new System.EventHandler(this.ButtonNew_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		/// <summary>
		/// 新增
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void ButtonNew_Click(object sender, System.EventArgs e)
		{
			this.ArticleID = null;
			this.TextBox_Topic.Text = "";
			this.TextBox_KeyWords.Text = "";
			this.TextBox_Source.Text = "";
			this.TEXTAREA_Content.Value = "";
		}


		/// <summary>
		/// 保存
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void Button_Save_Click(object sender, System.EventArgs e)
		{
			//数据检查
			if(CheckData() == false)
			{
				return;
			}

			DataAccessor da = new DataAccessor();
			bool IsNew;
			if(this.ArticleID == null) //New,执行Insert语句
			{
				IsNew = true;
				ArticleID = (da.GetNewID("ARTICLE", "ArticleID")).ToString();
				da.Sql = "Insert Into ARTICLE (ArticleID, Topic, KeyWords, Source, FolderID, Content, UploadDate) Values(?, ?, ?, ?, ?, ?, getdate())";
				da.Cmd.Parameters.Add("@ArticleID", System.Data.OleDb.OleDbType.UnsignedInt);
				da.Cmd.Parameters["@ArticleID"].Value = int.Parse(this.ArticleID);
				da.Cmd.Parameters.Add("@Topic", System.Data.OleDb.OleDbType.VarChar);
				da.Cmd.Parameters["@Topic"].Value = this.TextBox_Topic.Text;
				da.Cmd.Parameters.Add("@KeyWords", System.Data.OleDb.OleDbType.VarChar);
				da.Cmd.Parameters["@KeyWords"].Value = this.TextBox_KeyWords.Text;
				da.Cmd.Parameters.Add("@Source", System.Data.OleDb.OleDbType.VarChar);
				da.Cmd.Parameters["@Source"].Value = this.TextBox_Source.Text;
				da.Cmd.Parameters.Add("@FolderID", System.Data.OleDb.OleDbType.VarChar);
				da.Cmd.Parameters["@FolderID"].Value = this.DropDownList_Folder.SelectedValue;
				da.Cmd.Parameters.Add("@Content", System.Data.OleDb.OleDbType.VarChar);
				da.Cmd.Parameters["@Content"].Value = this.TEXTAREA_Content.Value;
			}
			else						//Modify,执行Update语句
			{
				IsNew = false;
				da.Sql = "Update ARTICLE " +
						 "Set Topic=?, KeyWords=?, Source=?, FolderID=?, Content=?, UpdateDate=getdate() " +
						 "Where ArticleID=" + ArticleID;
				da.Cmd.Parameters.Add("@Topic", System.Data.OleDb.OleDbType.VarChar);
				da.Cmd.Parameters["@Topic"].Value = this.TextBox_Topic.Text;
				da.Cmd.Parameters.Add("@KeyWords", System.Data.OleDb.OleDbType.VarChar);
				da.Cmd.Parameters["@KeyWords"].Value = this.TextBox_KeyWords.Text;
				da.Cmd.Parameters.Add("@Source", System.Data.OleDb.OleDbType.VarChar);
				da.Cmd.Parameters["@Source"].Value = this.TextBox_Source.Text;
				da.Cmd.Parameters.Add("@FolderID", System.Data.OleDb.OleDbType.VarChar);
				da.Cmd.Parameters["@FolderID"].Value = this.DropDownList_Folder.SelectedValue;
				da.Cmd.Parameters.Add("@Content", System.Data.OleDb.OleDbType.VarChar);
				da.Cmd.Parameters["@Content"].Value = this.TEXTAREA_Content.Value;
			}

			if(da.ExecuteNonQuery() == -1)
			{
				this.ShowMessage("数据保存失败!");
				if(IsNew)
				{
					this.ArticleID = null;
				}
			}
			else
			{
				this.ShowMessage("数据保存成功!");
			}
			da.Close();
		}




		/// <summary>
		/// 改变选项
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void DropDownList_Folder_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			this.ListChildren(this.DropDownList_Folder.SelectedItem.Value, this.DropDownList_Folder.SelectedItem.Text);
			this.Button_Parent.Enabled = true;
		}




		/// <summary>
		/// 上一级
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void Button_Parent_Click(object sender, System.EventArgs e)
		{
			DataAccessor da = new DataAccessor();
			string sql = "Select P.MenuCode, P.MenuName From MENU P, MENU S Where S.ParentCode=P.MenuCode And S.MenuCode='" + this.DropDownList_Folder.SelectedValue + "'";
			DataRow dr = da.ExecuteRecord(sql);
			string ParentCode = dr["MenuCode"].ToString();
			string ParentName = dr["MenuName"].ToString();
			da.Close();

			ListChildren(ParentCode, ParentName);
			if(this.DropDownList_Folder.SelectedValue == "01")
			{
				this.Button_Parent.Enabled = false;
			}
		}


		/// <summary>
		/// 获取子类列表
		/// </summary>
		/// <param name="ParentCode"></param>
		/// <param name="MenuName"></param>
		private void ListChildren(string ParentCode, string MenuName)
		{
			DataAccessor da = new DataAccessor();

			string sql = "Select MenuCode, MenuName From MENU Where Editable=1 And ParentCode=" + ParentCode + " Order by MenuCode";
			da.Sql = sql;
			OleDbDataReader dr = da.ExecuteReader();
			DropDownList_Folder.DataSource = dr;
			DropDownList_Folder.DataTextField = "MenuName";
			DropDownList_Folder.DataValueField = "MenuCode";
			DropDownList_Folder.DataBind();
			da.Close();

			System.Web.UI.WebControls.ListItem parent = new ListItem("----" + MenuName + "----", ParentCode);
			DropDownList_Folder.Items.Insert(0,parent);
			GetPath(0,ParentCode,true);
		}




		/// <summary>
		/// 获取完整路径
		/// </summary>
		/// <param name="levelcounter"></param>
		/// <param name="folderid"></param>
		/// <param name="flag"></param>
		private void GetPath(int levelcounter, string folderid, bool flag)
		{
			if(flag == true)
			{
				this.TextBox_FullPath.Text = "";
				flag = false;
			}

			DataAccessor da = new DataAccessor();
			string sql = "Select MenuCode, MenuName From MENU Where MenuCode='" + folderid + "'";
			DataRow dr = da.ExecuteRecord(sql);
			String MenuCode = dr["MenuCode"].ToString();
			String MenuName = dr["MenuName"].ToString();
			if(dr["MenuCode"].ToString() != "01" && levelcounter<10)
			{
				this.TextBox_FullPath.Text = dr["MenuName"].ToString() + " > " + this.TextBox_FullPath.Text;
				string ParentCode = da.ExecuteScalar("Select ParentCode From MENU Where MenuCode='" + folderid + "'").ToString();
				levelcounter++;
				GetPath(levelcounter, ParentCode, flag);
			}
			da.Close();
		}



		/// <summary>
		/// 数据检查
		/// </summary>
		/// <returns>检查结果</returns>
		private bool CheckData()
		{
			/*
			if(this.DropDownList_Folder.SelectedValue == "01")
			{
				this.ShowMessage("请选择文档所在的分类!");
				return false;
			}
			*/
			if(this.TextBox_Topic.Text.Trim() == "")
			{
				this.ShowMessage("请输入文档的标题!");
				return false;
			}
			if(this.TEXTAREA_Content.Value.Trim() == "")
			{
				this.ShowMessage("请输入文档的内容!");
				return false;
			}
			return true;
		}



		/// <summary>
		/// 弹出提示信息
		/// </summary>
		/// <param name="msg">提示信息内容</param>
		private void ShowMessage(string msg)
		{
			this.Response.Write("<script>alert('" + msg + "')</script>");
		}
	}
}

⌨️ 快捷键说明

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