首页 | IT新闻 | 硬件 | 操作系统 | 开发 | 网络编程 | 数据库 | 热门框架 | 网络安全 | 组网 | 建站指南 | 网页制作 | 特效 | 实用技巧 | 服务器 | 办公 | QQ | 探索 | 社区
|
ASP.Net程式中调用FCKeditor接口
在官方默认的版本中,FCKeditor是不支持asp.net的(没有供asp.net调用的接口),不过有一个供asp调用的接口,我根据fckeditor.asp这个文件用C#改写了一个.Net的接口,大家有需要可以参考。
<script language="c#" runat="Server"> public class FCKeditor{ private string sBasePath; private string sInstanceName; private string sWidth; private string sHeight; private string sToolbarSet; private string sValue; private ArrayList oConfig; public FCKeditor() { sBasePath = "/admin/FCKeditor/"; sWidth = "100%"; sHeight = "200"; sToolbarSet = "Default"; sValue = ""; oConfig = new ArrayList(); } public string BasePath { get{ return sBasePath; } set{ sBasePath = value; } } public string InstanceName { get{ return sInstanceName; } set{ sInstanceName = value; } } public string Width { get{ return sWidth; } set{ sWidth = value; } } public string Height { get{ return sHeight; } set{ sHeight = value; } } public string ToolbarSet { get{ return sToolbarSet; } set{ sToolbarSet = value; } } public string Value { get{ return sValue; } set{ sValue = value; } } public void Config(string configKey, string configValue) { oConfig.Add(new DictionaryEntry(configKey, configValue)); } public void Create(string instanceName) { HttpContext.Current.Response.Write(" ");
if(IsCompatible()) { string sFile=""; string sLink=""; if(HttpContext.Current.Request["fcksource"] == "true"){ sFile = "fckeditor.original.html";} else{ sFile = "fckeditor.html"; } sLink = sBasePath + "editor/" + sFile + "?InstanceName=" + instanceName; if(sToolbarSet != "") sLink = sLink + "&Toolbar="+sToolbarSet; HttpContext.Current.Response.Write(""); } else { string sWidthCSS=""; string sHeightCSS=""; if(sWidth.IndexOf(’%’)!=-1){ sWidthCSS = sWidth; } else{ sWidthCSS = sWidth+"px"; } if(sHeight.IndexOf(’%’)!=-1){ sHeightCSS = sHeight; } else{ sHeightCSS = sHeight+"px"; } HttpContext.Current.Response.Write("{ string sAgent = HttpContext.Current.Request.UserAgent; double iVersion; bool iIsCompatible = false; if( sAgent.IndexOf("MSIE") !=-1 && sAgent.IndexOf("mac") ==-1 && sAgent.IndexOf("Opera") == -1) { try{ iVersion = Convert.ToDouble(sAgent.Substring(sAgent.IndexOf("MSIE")+4,4).Trim()); } catch{ iVersion=0; } iIsCompatible = ( iVersion >= 5.5 ); } else { iIsCompatible = false; } return iIsCompatible; } private string GetConfigFieldString() { string sParams=""; bool bFirst = true; foreach(DictionaryEntry de in oConfig) { if(bFirst == false){ sParams = sParams+"&"; } else{ bFirst = false; } sParams = sParams+EncodeConfig( de.Key.ToString() )+ "=" +EncodeConfig( de.Value.ToString() ); } return sParams; } private string EncodeConfig( string valueToEncode ) { string sEncodeConfig; sEncodeConfig = valueToEncode.Replace("&", "%26" ); sEncodeConfig = sEncodeConfig.Replace("=", "%3D" ); sEncodeConfig = sEncodeConfig.Replace("’", "%22" ); return sEncodeConfig; } } < SPAN>script>![]() 使用方法: <%
string sBasePath = Request.ServerVariables["PATH_INFO"]; FCKeditor oFCKeditor = new FCKeditor(); FCKeditor.BasePath = "./FCKeditor/"; FCKeditor.Width = "100%"; FCKeditor.Height = "400"; FCKeditor.ToolbarSet = "Basic"; FCKeditor.Create("body"); %>
此外,这个编辑器的asp.net用的文件上传和浏览程序也是没有的,不过可以在配置文件里把asp设置为默认脚本语言就行了,一般支持asp.net的服务器都支持asp的,不过asp.net的程序就不可能直接调用asp的类了,因此我编写了这个接口。 相关链接
频道热门
热门新闻
|
精粹集锦
特别推荐
频道精选
|