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

📄 htmleditor.ascx.cs

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

	/// <summary>
	///		HtmlEditor : 编辑器用户自定义控件。
	/// </summary>
	public class HtmlEditor : baseUserControl
	{
		private void Page_Init(object sender, System.EventArgs e)
		{
		}

		private void Page_Load(object sender, System.EventArgs e)
		{
			string id = Function.SplitArray(base.UniqueID, ':')[1];

			if( Page.IsPostBack )
			{
				ViewState["HtmlEditor_Value"]	= Request.Form[id];
				ViewState["HtmlEditor_Text"]	= Request.Form[id + "_Text"];

				if( Object.Equals(this.Value, null) ) this.Value = ViewState["HtmlEditor_Value"].ToString();
				if( !user.CheckValiable(this._Text) ) this._Text = ViewState["HtmlEditor_Text"].ToString();
			}
		}

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

		// Private Field
		private EditorMode _MenuStatus;
		private string _Value;
		private string _Text	= string.Empty;
		private string _CssPath;
		private string _UploadPath;


		#region Public Property
		/// <summary>
		/// 编辑器的类型
		/// </summary>
		public EditorMode MenuStatus
		{
			get {return _MenuStatus;}
			set {_MenuStatus = value;}
		}

		/// <summary>
		/// 初始化编辑器的内容
		/// </summary>
		public string Value
		{
			get {return _Value;}
			set {_Value = value;}
		}

		/// <summary>
		/// 获取编辑器对应的Html内容的纯文本内容
		/// </summary>
		public string Text
		{
			get {return _Text;}
		}

		/// <summary>
		/// 编辑器内容默认加载的样式表文件的路径
		/// </summary>
		public string CssPath
		{
			get {return _CssPath;}
			set {_CssPath = value;}
		}

		/// <summary>
		/// 文件上传程序的路径
		/// </summary>
		public string UploadPath
		{
			get {return _UploadPath;}
			set {_UploadPath = value;}
		}


		#endregion

		// 重写输出HTML文本
		protected override void Render(HtmlTextWriter output)
		{
			string id = Function.SplitArray(base.UniqueID, ':')[1];

			string src= "/skyNews/SeaskyEditor/Editor.html?id=" + id;
			output.Write("\r\n<!-- 编辑器控件 BEGIN (Seasky Studio.) -->\r\n");
			output.Write("<script language=\"javascript\" type=\"text/javascript\">\r\n");
			output.Write("var config = new Object() ;\r\n");
			output.Write("config.MenuStatus = \"" + this.MenuStatus + "\";\r\n");
			output.Write("config.CssPath = \"" + this.CssPath + "\" ;\r\n");
			output.Write("config.UploadPath = \"" + this.UploadPath + "\" ;\r\n");
			output.Write("config.Version = \"1.1.0\" ;\r\n");
			output.Write("config.ReleaseDate = \"2004-05-20\" ;\r\n");
			output.Write("config.License = \"Seasky Studio.\" ;\r\n");
			output.Write("config.StyleName = \"standard_blue\";\r\n");
			output.Write("config.StyleEditorHeader = \"\" ;\r\n");
			output.Write("config.StyleMenuHeader = \"<head><link href='Style/MenuArea.css' type='text/css' rel='stylesheet'></head><body scroll='no' onConTextMenu='event.returnValue=false;'>\";\r\n");
			output.Write("config.StyleDir = \"standard\";\r\n");
			output.Write("config.SysImage = \"/skyNews/SeaskyEditor/Image\";\r\n");
			//output.Write("config.Parame = \"g\";\r\n");
			output.Write("config.InitMode = \"EDIT\";\r\n");
			output.Write("config.AutoDetectPasteFromWord = true;\r\n");
			output.Write("</script>\r\n");
			base.Render(output);
			output.Write("<INPUT type=\"hidden\" name=\"" + id + "\" value=\"" + Server.HtmlEncode(this.Value) + "\">\r\n");
			output.Write("<INPUT type=\"hidden\" name=\"" + id + "_Text\" value=\"\">\r\n");
			output.Write("<IFRAME ID=\"SeaskyEditor1\" src=\"{0}\" frameborder=\"0\" scrolling=\"no\" width=\"100%\" height=\"100%\"></IFRAME>\r\n", src);
			output.Write("<!-- 编辑器控件 END (Seasky Studio.) -->\r\n");
		}
	}


	public enum EditorMode : int
	{
		/// <summary>
		/// 最简文本编辑模式
		/// </summary>
		LittleText,
		/// <summary>
		/// 简单编辑模式
		/// </summary>
		Text,
		/// <summary>
		/// 标准编辑器模式
		/// </summary>
		StandardHtml,
		/// <summary>
		/// 高级HTML编辑器模式
		/// </summary>
		AdvancedHtml
	}
}

⌨️ 快捷键说明

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