登录论坛 | 注册会员 设为首页 | 收藏本站
当前位置 : 首页>软件学院>程序开发>ASP.NET>正文
 
ASP.Net程式中调用FCKeditor接口

http://www.dbit.cn 2008-4-28 10:48:03  来源:BBS  编辑:叶子
 

  在官方默认的版本中,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
 
{
  
getreturn sBasePath; }
  
set{ sBasePath = value; }
 }


 
public string InstanceName
 
{
  
getreturn sInstanceName; }
  
set{ sInstanceName = value; }
 }


 
public string Width
 
{
  
getreturn sWidth; }
  
set{ sWidth = value; }
 }


 
public string Height
 
{
  
getreturn sHeight; }
  
set{ sHeight = value; }
 }


 
public string ToolbarSet
 
{
  
getreturn sToolbarSet; }
  
set{ sToolbarSet = value; }
 }


 
public string Value
 
{
   
getreturn 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;
 }

}

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的类了,因此我编写了这个接口。

 
收藏】【打印】【进入论坛
  相关文章:

·浅析五大ASP.NET数据控件
·Discuz!NT 3.1 为ASP.net社区提速 
·浅析五大ASP.NET数据控件
·ASP.NET全局异常处理的方法
·asp.net实现验证码
·ASP.NET中在线用户统计
·用ASP.NET加密口令
·在ASP.NET中使用Microsoft Word文档
·Asp.net+Xml开发网络硬盘 
·用ASP.NET构建简单的Web Form 
·ASP.Net中自定义Http处理及应用之HttpModul

 
 
 
 
最新文章

中关村艳照门女主角详记录高清组图 
大连护士门大尺度艳照高清组图
iPhone女孩微博爆红 最宝贵东西换iPhon
反恐精英之父内维尔:改变电脑游戏销售
团购网站黎明之前:中国市场惨烈厮杀不
团购鼻祖Groupon中国揭秘:快与慢的商业
Spil Games发布新的品牌形象
1800配置一台主机 不要显示器
联想V360笔记本模特写真
爱国者第四代移动硬盘将面市、低电压保

 
推荐文章
1
2
3
4
5
6
7
8
9
10
iPhone女孩微博爆红 最宝贵东西换
大连护士门大尺度艳照高清组图
中关村艳照门女主角详记录高清组
苹果员工中毒门
宫如敏不雅照疯传 看张馨予韩一菲
深耕市场 永续经营——专访百脑汇
优派专业电子书 让您回家旅途多姿
揭晓百万大奖三星bada魅力绽放中
大明龙权“江湖英雄会”全国PK大
永恒之塔校园达人挑战赛完美落幕
八卦图解 More>>
iPhone女孩微博爆红 最宝贵东西换 大连护士门大尺度艳照高清组图
中关村艳照门女主角详记录高清组 宫如敏不雅照疯传 看张馨予韩一菲