📄 htmleditor.ascx.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 + -