• AjaxControlToolkitHtmlEditor


           HtmlEditor在AjaxControlToolkit的上个版本中就已经提供了,属于一个功能比较简单的Html在线编辑器,虽说功能不多,不过对只需要基础的应用差不多已经足够了。

           使用HtmlEditor很简单,只要在页面上注册了AjaxControlToolkit,先望页面里拖个拖个ScriptManager进去,再从工具箱里把Editor拖出来就行了(前提是已添加了AjaxControlToolkit的引用,并将所包含的控件放到了工具箱)

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="editor.aspx.cs" Inherits="editor" %>
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit.HTMLEditor"
        TagPrefix="cc1" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type="text/javascript">
        
          function pageLoad() {
          }
        
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server" />
            <cc1:Editor ID="Editor1" runat="server" Width="500px" Height="300px"/>
        </div>
        </form>
    </body>
    </html>
     

           上个图看下效果:

    image

           挺傻瓜化的吧。

           其实HtmlEditor的最大好处是我们可以方便的自己定义在HTML编辑器上所需要的功能。

           下面让我们先来添加一个类:myeditor.cs

           在其中添加三个引用命名空间:

    using AjaxControlToolkit.HTMLEditor;
    using System.Collections;
    using System.Collections.ObjectModel;

           然后添加自己的命名空间(这里就叫myhtmleditor吧),然后添加一个类(这里我们叫myeditor吧)继承自Editor

    namespace myhtmleditor
    {
        public class myeditor:Editor
        {
        }
    }

           然后我们重写两个事件FillTopToolbar和FillBottomToolbar就可以定制我们自己想要的HtmlEditor了

            protected override void FillTopToolbar()
            {
            }
    
            protected override void FillBottomToolbar()
            {
            }

          其中FillTopToolbar是HtmlEditor上方的菜单,FillBottomToolbar是HtmlEditor下方的菜单

          可以设定的有:

                //定义下拉菜单金集合
                Collection<AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption> options;
                //定义下拉菜单
                AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption option;
                //菜单栏上的分割符
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator());
                //撤销
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.Undo());
                //重做
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.Redo());
                //加粗
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.Bold());
                //倾斜
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.Italic());
                //下划线
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.Underline());
                //文字中划线
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.StrikeThrough());
                //上标
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.SuperScript());
                //下标
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.SubScript());
                //从左向右排列
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.Ltr());
                //从右向左排列
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.Rtl());
    
                //文字颜色按钮
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.ForeColor());
                //文字颜色下拉菜单
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.ForeColorSelector());
                //取消文字颜色
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.ForeColorClear());
    
                //另一种定义文字颜色的方法
                AjaxControlToolkit.HTMLEditor.ToolbarButton.FixedForeColor FixedForeColor = new AjaxControlToolkit.HTMLEditor.ToolbarButton.FixedForeColor();
                TopToolbar.Buttons.Add(FixedForeColor);
                AjaxControlToolkit.HTMLEditor.ToolbarButton.ForeColorSelector ForeColorSelector = new AjaxControlToolkit.HTMLEditor.ToolbarButton.ForeColorSelector();
                TopToolbar.Buttons.Add(ForeColorSelector);
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.ForeColorClear());
    
                //文字背景色按钮
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.FixedBackColor());
                //文字背景色下来菜单
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.BackColorSelector());
                //取消文字背景色
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.BackColorClear());
    
                //清除格式
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.RemoveStyles());
    
                //文字字体
                AjaxControlToolkit.HTMLEditor.ToolbarButton.FontName fontName = new AjaxControlToolkit.HTMLEditor.ToolbarButton.FontName();
                TopToolbar.Buttons.Add(fontName);
                options = fontName.Options;
                option = new AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption();
                option.Value = "arial,helvetica,sans-serif";
                option.Text = "Arial";
                options.Add(option);
                option = new AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption();
                option.Value = "courier new,courier,monospace";
                option.Text = "Courier New";
                options.Add(option);
                option = new AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption();
                option.Value = "georgia,times new roman,times,serif";
                option.Text = "Georgia";
                options.Add(option);
                option = new AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption();
                option.Value = "tahoma,arial,helvetica,sans-serif";
                option.Text = "Tahoma";
                options.Add(option);
                option = new AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption();
                option.Value = "times new roman,times,serif";
                option.Text = "Times New Roman";
                options.Add(option);
                option = new AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption();
                option.Value = "verdana,arial,helvetica,sans-serif";
                option.Text = "Verdana";
                options.Add(option);
                option = new AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption();
                option.Value = "impact";
                option.Text = "Impact";
                options.Add(option);
                option = new AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption();
                option.Value = "wingdings";
                option.Text = "WingDings";
                options.Add(option);
    
                //文字字号
                AjaxControlToolkit.HTMLEditor.ToolbarButton.FontSize fontSize = new AjaxControlToolkit.HTMLEditor.ToolbarButton.FontSize();
                TopToolbar.Buttons.Add(fontSize);
                options = fontSize.Options;
                option = new AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption();
                option.Value = "8pt";
                option.Text = "1 ( 8 pt)";
                options.Add(option);
                option = new AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption();
                option.Value = "10pt";
                option.Text = "2 (10 pt)";
                options.Add(option);
                option = new AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption();
                option.Value = "12pt";
                option.Text = "3 (12 pt)";
                options.Add(option);
                option = new AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption();
                option.Value = "14pt";
                option.Text = "4 (14 pt)";
                options.Add(option);
                option = new AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption();
                option.Value = "18pt";
                option.Text = "5 (18 pt)";
                options.Add(option);
                option = new AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption();
                option.Value = "24pt";
                option.Text = "6 (24 pt)";
                options.Add(option);
                option = new AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption();
                option.Value = "36pt";
                option.Text = "7 (36 pt)";
                options.Add(option);
                option = new AjaxControlToolkit.HTMLEditor.ToolbarButton.SelectOption();
                option.Value = "100pt";
                option.Text = "8 (100 pt)";
                options.Add(option);
    
                //剪切
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.Cut());
                //复制
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.Copy());
                //粘贴
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.Paste());
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.PasteText());
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.PasteWord());
    
                //增加缩进量
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.IncreaseIndent());
                //减少缩进量
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.DecreaseIndent());
    
                //插入分割线
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.InsertHR());
                //插入超链接
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.InsertLink());
                //取消超链接
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.RemoveLink());
    
                //编号
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.OrderedList());
                //项目编号
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.BulletedList());
    
                //分段
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.Paragraph());
                
    	     //文本左对齐
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.JustifyLeft());
                //文本右对齐
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.JustifyRight());
                //居中
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.JustifyCenter());
                //两端对齐
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.JustifyFull());
                //取消对齐
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.RemoveAlignment());
    
                //设计视图
                BottomToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.DesignMode());
                //HTML视图
                BottomToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.HtmlMode());
                //预览视图
                BottomToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.PreviewMode());

           上面这些不论写在FillTopToolbar还是FillBottomToolbar都行,甚至两个一起写也可以(估计没这么BT的吧...)

           不过一般习惯上还是FillTopToolbar里写编辑菜单,FillBottomToolbar里面放视图模式...

           已经自定义好了编辑器,下面我们就要在页面里使用它了,打开我们的页面,在页面上注册我们钢材建立的命名空间,再在页面里添加就可以了

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="editor.aspx.cs" Inherits="editor" %>
    <%@ Register Namespace="myhtmleditor" TagPrefix="myhtmleditor" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type="text/javascript">
          function pageLoad() {
          }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server" />
            <myhtmleditor:myeditor ID="myeditor" runat="Server" Width="500px" Height="300px" />
        </div>
        </form>
    </body>
    </html>
    

           恩,最后上图看下效果(我这里把菜单全加上了,可以根据自己需要选择有用的菜单就可以了)

    image

    就写这些吧,有什么不对的地方望大家指出。

    作者:sun8134
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    linux命令及相关配置
    EditPlus配置ftp连接linux
    06_事件机制
    HTTP协议简介
    Codeforces Round #691 (Div. 2) C. Row GCD (数学)
    Codeforces Round #690 (Div. 3) E2. Close Tuples (hard version) (数学,组合数)
    牛客编程巅峰赛S2第10场
    Codeforces Round #665 (Div. 2) D. Maximum Distributed Tree (dfs计数,树)
    牛客编程巅峰赛S2第7场
    Codeforces Global Round 12 D. Rating Compression (思维,双指针)
  • 原文地址:https://www.cnblogs.com/sun8134/p/1583240.html
Copyright © 2020-2023  润新知