articleeditctrl.ascx.cs

来自「该项目中对 SQLHelper 类进行了简单封装」· CS 代码 · 共 161 行

CS
161
字号
/* 
 * ArticleEditCtrl.ascx.cs @Microsoft Visual Studio 2005 <.NET Framework 2.0>
 * AfritXia
 * 2007-12-10
 * 
 * Copyright(c) http://www.AfritXia.NET/
 * 
 */

using System;

using NET.AfritXia.MyHome.HomeManagement.CodeLand;
using NET.AfritXia.MyHome.HomeManagement.CodeLand.ModelProxy;
using NET.AfritXia.MyHome.HomeManagement.CodeLand.ServiceProxy;
using NET.AfritXia.MyHome.Model.Message;

namespace NET.AfritXia.MyHome.HomeManagement.PageCtrls.Utils
{
	/// <summary>
	/// 文章编辑控件
	/// </summary>
	public partial class ArticleEditCtrl : System.Web.UI.UserControl
	{
		// 提交事件关键字
		private static readonly object g_postEventKey = new object();

		// 原始的文章
		private Article m_originalArticle = null;

		/// <summary>
		/// 控件初始化函数
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void Page_Init(object sender, EventArgs e)
		{
			// 添加文章提交事件
			this.m_aspPostCmd.Click += new EventHandler(m_aspPostCmd_Click);
		}

		/// <summary>
		/// 提交文章
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void m_aspPostCmd_Click(object sender, EventArgs e)
		{
			EventHandler handler = (EventHandler)this.Events[g_postEventKey];

			if (handler == null)
				return;

			handler(this, e);
		}

		/// <summary>
		/// 添加或移除文件提交事件
		/// </summary>
		public event EventHandler PostEvent
		{
			add
			{
				this.Events.AddHandler(g_postEventKey, value);
			}

			remove
			{
				this.Events.RemoveHandler(g_postEventKey, value);
			}
		}

		/// <summary>
		/// 设置或获取原始的文章
		/// </summary>
		public Article OriginalArticle
		{
			set
			{
				this.m_originalArticle = value;
			}

			get
			{
				return this.m_originalArticle;
			}
		}

		/// <summary>
		/// 获取新文章
		/// </summary>
		/// <returns></returns>
		public Article GetNewArticle()
		{
			Article newArticle = new Article();

			// UniqueID
			if (this.OriginalArticle != null)
				newArticle.UniqueID = this.OriginalArticle.UniqueID;

			// Title
			newArticle.Title = this.m_aspTitle.Text;
			// Summary
			newArticle.Summary = this.m_aspSummary.Text;
			// TextContent
			newArticle.TextContent = this.m_myTextContent.XMLNText;
			// PostTime
			newArticle.PostTime = DateTime.Now;
			// UpdateTime
			newArticle.UpdateTime = DateTime.Now;
			// FromName
			newArticle.PostUser = Manager.Current.NickName;

			return newArticle;
		}

		/// <summary>
		/// 读取控件视图状态
		/// </summary>
		/// <param name="savedState"></param>
		protected override void LoadViewState(object savedState)
		{
			if (savedState == null)
				return;

			object[] objList = (object[])savedState;

			if (objList.Length >= 1)
				base.LoadViewState(objList[0]);

			if (objList.Length >= 2)
				this.OriginalArticle = ((ViewStateArticle)objList[1]).RestoreArticle();
		}

		/// <summary>
		/// 保存控件视图状态
		/// </summary>
		/// <returns></returns>
		protected override object SaveViewState()
		{
			return new object[] {
				base.SaveViewState(), 
				new ViewStateArticle(this.OriginalArticle), 
			};
		}

		/// <summary>
		/// 绑定数据源到控件
		/// </summary>
		public override void DataBind()
		{
			base.DataBind();

			// 设置文章标题
			this.m_aspTitle.Text = this.OriginalArticle.Title;
			// 摘要信息
			this.m_aspSummary.Text = this.OriginalArticle.Summary;
			// 文章内容
			this.m_myTextContent.XMLNText = this.OriginalArticle.TextContent;
		}
	}
}

⌨️ 快捷键说明

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