解决FCKeditor在ASP.NET AJAX的UpdatePanel控件中按钮回调后内容丢失的问题

最近,打算在UpdatePanel中使用FCKeditor时,发现了一个小问题:当点击Panel内的按钮进行AsynPostBack后,FCKeditor控件中先前所录入的内容便丢失了。
       在Google上查了下,发现了解决方法:
       1.首先在页面中添加如下JS脚本:
       <script language="javascript" type="text/javascript">
        // Some Class
        function MyClass()
        {
            this.UpdateEditorFormValue = function(val)
           {       
               for ( i = 0; i < parent.frames.length; ++i )
                        if ( parent.frames[i].FCK )
                        {    
                                parent.frames[i].FCK.UpdateLinkedField();
                        }

           }
       }
       // instantiate the class
      var MyObject = new MyClass();

     </script>

     2.在Page_Load事件中为Button的Click添加该JS方法:
      if (!IsPostBack)
      {
            lkbPost.Attributes.Add("onclick", "if (typeof(MyObject) != \'undefined\'){
                  MyObject.UpdateEditorFormValue(); return true;}else{return true;}");
        
       }
       
      3.另外,如果在FCKeditor控件中加入了图片等信息,需要将页面的ValidateRequest设置为false。完毕。

你可能感兴趣的:(fckeditor)