您的位置:首页 > 编程语言 > C#

给CuteEditor5增加了高亮代码显示功能(C#版)

2008-05-14 14:58 951 查看
CuteEditor在很多网站上都有介绍了,是一款超级Cool的web在线编辑器,下载地址用google找一下就能找到,就不提供了,但是安装方法还是要说一下,因本次是使用vs2005。
我们在vs2005里面新建个web site吧,把CuteEditor.dll(主控件)、CuteEditor.lic(许可证)、CuteEditor.ImageEditor.dll(因为5.0增加了个EditorImage的功能)、NetSpell.SpellChecker.dll(拷这个的原因是默认打开拼写检查)这几个文件拷贝到web site的bin目录下,刷新bin目录(不像vs2003需要引用dll),同时我们也要把解压缩后的CuteSoft_Client目录全部拷贝到应用程序的根目录下。然后把CuteEditor添加到工具面板.我们在工具面板里面右键选择"选择项",在出来的对话框里面选择"游览",找到CuteEditor.dll,一路确定就可以了。

我们再添加个CuteEditor.aspx,把工具面板里面的Editor拖到页面上来,这时你就可以运行你的程序使用CuteEditor了,运行如下图:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="testCuteeditor._Default" %>

<%@ Register Assembly="CuteEditor" Namespace="CuteEditor" TagPrefix="CE" %>

<!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>

</head>

<body>

<form id="form1" runat="server">

<script language="JavaScript" type="text/javascript" >

function ShowMyDialog(button)

</script>

<div>

<CE:Editor ID="cuteedit" runat="server" AutoConfigure="Simple">

<FrameStyle BackColor="White" BorderColor="#DDDDDD" BorderStyle="Solid" BorderWidth="1px"

CssClass="CuteEditorFrame" Height="100%" Width="100%" />

</CE:Editor>

</div>

</form>

</body>

</html>

CuteEditor.aspx.cs代码

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

namespace testCuteeditor

<section name="codeHighlighter" type="ActiproSoftware.CodeHighlighter.CodeHighlighterConfigurationSectionHandler, ActiproSoftware.CodeHighlighter.Net20" />

在<configuration>和</configuration>间加

<codeHighlighter>

<cache languageTimeout="3" />

<keywordLinking enabled="true" target="_blank" defaultKeywordCollectionKey="ActiproKeywords">

<keywordCollection key="ActiproKeywords">

<explicitKeyword tokenKey="IdentifierToken" patternValue="Actipro" url="http://www.actiprosoftware.com" caseSensitive="false" />

<explicitKeyword tokenKey="IdentifierToken" patternValue="CodeHighlighter" url="http://www.codehighlighter.com" caseSensitive="false" />

</keywordCollection>

</keywordLinking>

<languages>

<language key="BatchFile" definitionPath="~/Languages/ActiproSoftware.BatchFile.xml" />

<language key="C#" definitionPath="~/Languages/ActiproSoftware.CSharp.xml" semanticParserType="CodeHighlighterTest.SemanticCSharpParser, CodeHighlighterTest" />

<language key="CSS" definitionPath="~/Languages/ActiproSoftware.CSS.xml" semanticParserType="CodeHighlighterTest.SemanticCssParser, CodeHighlighterTest" />

<language key="HTML" definitionPath="~/Languages/ActiproSoftware.HTML.xml" semanticParserType="CodeHighlighterTest.SemanticHtmlParser, CodeHighlighterTest" />

<language key="INIFile" definitionPath="~/Languages/ActiproSoftware.INIFile.xml" />

<language key="Java" definitionPath="~/Languages/ActiproSoftware.Java.xml" semanticParserType="CodeHighlighterTest.SemanticJavaParser, CodeHighlighterTest" />

<language key="JScript" definitionPath="~/Languages/ActiproSoftware.JScript.xml" semanticParserType="CodeHighlighterTest.SemanticJScriptParser, CodeHighlighterTest" />

<language key="Perl" definitionPath="~/Languages/ActiproSoftware.Perl.xml" />

<language key="PHP" definitionPath="~/Languages/ActiproSoftware.PHP.xml" />

<language key="Python" definitionPath="~/Languages/ActiproSoftware.Python.xml" />

<language key="SQL" definitionPath="~/Languages/ActiproSoftware.SQL.xml" semanticParserType="CodeHighlighterTest.SemanticSqlParser, CodeHighlighterTest" />

<language key="VB.NET" definitionPath="~/Languages/ActiproSoftware.VBDotNet.xml" semanticParserType="CodeHighlighterTest.SemanticVBDotNetParser, CodeHighlighterTest" />

<language key="VBScript" definitionPath="~/Languages/ActiproSoftware.VBScript.xml" semanticParserType="CodeHighlighterTest.SemanticVBDotNetParser, CodeHighlighterTest" />

<language key="XML" definitionPath="~/Languages/ActiproSoftware.XML.xml" />

</languages>

<lineNumberMargin foreColor="Teal" paddingCharacter=" " visible="true" />

<outlining enabled="true" imagesPath="~/Images/OutliningIndicators/" />

<spacesInTabs count="4" />

</codeHighlighter>

建立InsertCode.aspx文件(代码高亮处理)代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InsertCode.aspx.cs" ValidateRequest="false" Inherits="testCuteeditor.InsertCode" %>

<%@ Register TagPrefix="CH" Namespace="ActiproSoftware.CodeHighlighter" Assembly="ActiproSoftware.CodeHighlighter.Net20" %>

<!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 id="Head1" runat="server">

<title>插入代码</title>

<style type="text/css">

</style>

<base target="_self" />

</head>

<body>

<form id="form1" runat="server">

<table class="tb" cellspacing="0" cellpadding="3" border="0">

<tr>

<th align="right" style="WIDTH:80px">编程语言:</th>

<td><asp:DropDownList Runat="server" ID="LanguageDropDownList"/></td>

</tr>

<tr>

<th align="right">选项:</th>

<td><asp:CheckBox Runat="server" ID="OutliningEnabledCheckBox" Checked="True" Text="允许代码折叠" /> <asp:CheckBox Runat="server" ID="LineNumberMarginVisibleCheckBox" Checked="True" Text="显示行号" /></td>

</tr>

<tr>

<th valign="top" align="right">代码:</th>

<td><asp:TextBox Runat="server" ID="CodeTextBox" TextMode="MultiLine" Rows="10" Columns="80" CssClass="code" /></td>

</tr>

<tr>

<td> </td>

<td><asp:Button Runat="server" ID="HighlightButton" Text="确 定" OnClick="HighlightButton_Click"/>    <input onclick="return window.close()" type="button" value="关 闭" id="Button1" /></td>

</tr>

<tr>

<td></td>

<td><pre>

<CH:CodeHighlighter ID="CodeHighlighter1" runat="server" OnPostRender="CodeHighlighter1_PostRender"></CH:CodeHighlighter></pre></td>

</tr>

</table>

<div id="ScriptOutPut" runat="server"></div>

</form>

</body>

</html>
InsertCode.aspx.cs代码:

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

namespace testCuteeditor

本文参考网上的几篇关于CuteEditor的文章,修正了其文章改成C#后出现的单引号问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: