2012-01-09 7 views
0

asp.netのCKEditorでhtmlファイルを読み込もうとしていますが、何らかの理由でコードビハインドファイルからhtmlコードを入力する方法がわかりません。ckeditorエディタでhtmlコードをロードする

CKEditor1.FilebrowserBrowseUrl = url; 
CKEditor1.BasePath = url; 
CKEditor1.Text = content; 

どれも役に立たなかった アドバイスはありますか?おかげさまで、Laziale

答えて

0

使用しているバージョンはわかりませんが、3.xだとしましょう。私はコントロールを使って遊んでいたし、コードの背後にこれをする可能性のある方法を見つけられなかった。しかし、私はそれがこのように動作させるために管理:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "fckInitialization", @" 
     window.onload = function() {    
       var oEditor = CKEDITOR.instances['" + txtPost.ClientID + @"']; 
       oEditor.insertHtml('<strong>This is a bold text.</strong>');     
     }; 
     ", true); 

私はIE 8でそれを試みたとMozillaの最後のバージョン(私はそれが9だったと思う)、それが働きました。私も同じことを試みたが、代わりにwindow.onload私はjQuery $(文書).ready()を使用し、それはIEでのみ働いた。その理由は、CKEditor APIの関数を使用するためにはすべてをロードするのを待たなければならないからです。私はFirebugでプレイし、のinsertHTMLが働いた。 2.xを使用している場合は、Googleのどこかで同じアプローチを使用できますが、異なるAPIを使用できます。私はちょうど今リンクを見つけることができません。

長いテキストを初期化したい場合は、スクリプトにすべてを書き込む必要があります。これは本当にうまくいきません。

HTMLをBBCodeに変換してからTextプロパティを設定するだけで解決できる可能性があります。 BBCodeにはすべてのタグが含まれているわけではありませんが、必要に応じてCKEditorのbbcodeプラグインを変更することができます。そして、私はそれをテストし、それは動作します。

PS。おそらくあなたはJavaScriptメソッドとAJAX呼び出しでそれを行うことができます。

希望すると便利です。

0

ckeditorがtextareaフィールドから初期化されていると仮定すると、textareaの本文に簡単に移入できます。

+0

あなたの返信にはthxですが、私はこれだけを持っています: テキストエリアも使用する必要がありますか? – Laziale

+0

いいえ、このケースでは、CKEditorの回りにラッピングを使用しています。 CKEditorControlのTEXTプロパティを設定しても機能しませんか? –

+0

いいえ、それは私にテキストとしてhtmlコードを与え、コントロールのHTMLとしてレンダリングされず、私はWYSIWYGへのスタートアップモードを持っています – Laziale

関連する問題