在AJAX.NET中使用FCKEditor不能读取FCKEditor内容的解决方法

aspx文件如下:

<% @ Page Language = " C# "  MasterPageFile = " ~/Blog/Blogger/Admin/Admin.Master "  ValidateRequest = " false "  AutoEventWireup = " true "  CodeBehind = " AddArticle.aspx.cs "  Inherits = " Blog.Blogger.Admin.Article.AddArticle "  Title = " Blog "   %>
<% @ Register Assembly = " System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 "  Namespace = " System.Web.UI "  TagPrefix = " asp "   %>   <% @ Register Assembly = " AjaxControlToolkit "  Namespace = " AjaxControlToolkit "  TagPrefix = " ajaxToolkit "   %>

<% @ Register TagPrefix = " FCKeditorV2 "  Namespace = " FredCK.FCKeditorV2 "  Assembly = " FredCK.FCKeditorV2 "   %>

< asp:Content  ID ="Content1"  runat ="server"  ContentPlaceHolderID ="phBody" >

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

< script  language ="javascript" >   function  FCKUpdateLinkedField(id) {  try  {  if ( typeof (FCKeditorAPI)  ==   " object " ) {      FCKeditorAPI.GetInstance(id).UpdateLinkedField();
}
}

catch (err) { }

</ script >

< asp:ScriptManager  ID ="ScriptManager1"  runat ="server"  EnablePartialRendering ="true"  EnableScriptGlobalization ="true"  EnableScriptLocalization ="True" >   </ asp:ScriptManager >   < asp:Panel  ID ="updating"  runat ="server"  BorderWidth ="0"  BorderStyle ="solid"  style ="z-index: 1;" >

< asp:UpdateProgress  ID ="UpdateProgress1"  runat ="server" >   < ProgressTemplate >   < DIV  style ="BORDER-RIGHT: #dcbe6e 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #dcbe6e 1px solid; PADDING-LEFT: 5px; BACKGROUND: #ffffbf; LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #dcbe6e 1px solid; WIDTH: 218px; BOTTOM: 5px; PADDING-TOP: 5px; BORDER-BOTTOM: #dcbe6e 1px solid; POSITION: absolute" >   < IMG  alt ="??¨¦?o¨°dot.gif"  src ="/Blog/Blogger/Admin/Album/Images/loading.gif"   /> ¨¨???¡À¡ê¡ä??D,??¨¦?o¨°dot.gif < input  type ="button"  id ="abortButton"  onclick ="cancelRequest()"  value ="¨¨???"   />   </ DIV >   </ ProgressTemplate >   </ asp:UpdateProgress >

</ asp:Panel >


< asp:UpdatePanel  ID ="upAutoSave"  runat ="server" >
< ContentTemplate >
<% if  (( int )Session[ " Blogger_SavePostID " ] ! =   0 ){  %>
< img  src ="/Blog/Blogger/Images/hasSaved.jpg"   />
< span > 日志已自动保存 </ span >
<% %>
< asp:Timer  ID ="tmr"  runat ="server"  Interval ="20000" ></ asp:Timer >
</ ContentTemplate >
</ asp:UpdatePanel >   

< br  />             

< div  style ="width: 698px; height: 346px" >
< FCKeditorV2:FCKeditor  id ="Content"  runat ="server"  Width ="100%"  BasePath ="~/FCKeditor/"  Height ="500px"  ToolbarSet ="Default" ></ FCKeditorV2:FCKeditor >               

    
</ div >
    …
在AJAX.NET 调用Callback方法 的时候,用Content.Value是取不到值的,这是由于在 Callback 时没有调用 FCK.UpdateLinkedField() 方法。
在窗体的Load 事件注册一下该方法:
protected   void  Page_Load( object  sender, EventArgs e)
{
if  ( ! IsPostBack)
{
Page.ClientScript.RegisterOnSubmitStatement(
Content.GetType(),
" editor " ,

" FCKUpdateLinkedField(' "   +  Content.ClientID  +   " '); " );
之后就可以使用Content.Value 获得 FCKeditor 的值了。
可以参考:

ASP.NET下解决FCKEditor在AJAX中取值问题

FCK Wiki


转载于:https://www.cnblogs.com/Doho/archive/2007/09/21/902003.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值