2012-01-09 67 views
0

我想加載在asp.net中的CKEditor中的HTML文件,但由於某種原因,我不知道如何把代碼放在文件後面的代碼。ckeditor在編輯器中加載html代碼asp.net

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 $(document).ready(),它只能在IE中使用。原因是你必須等待所有的東西加載才能使用CKEditor API中的函數。我玩過Firebug和insertHTML工作。 如果你使用的是2.x,你可以在谷歌的某個地方看到相同的方法,但使用不同的API。我現在找不到鏈接。

另外一個問題就是在這裏,你可能會發現,如果你想初始化一個長文本,你將不得不用腳本編寫所有東西,這並不是很好。

也許一個可能的解決辦法是將您的HTML轉換爲BBCode,然後設置文本屬性。當然,這取決於您使用控件的方式,因爲BBCode不包含所有可能的標籤,但您可以隨時修改CKEditor的bbcode插件以滿足您的需求。我測試了它,它工作。

PS。可能你可以用JavaScript方法和AJAX調用來完成它。

希望這會有所幫助!

0

假設ckeditor正在從textarea字段初始化,您可以簡單地填充textarea的主體。

+0

thx您的回覆,但我只有這個: 。我是否也需要使用textarea? – Laziale 2012-01-09 23:23:21

+0

不,在這種情況下,您正在使用CKEditor進行包裝。設置CKEditorControl的TEXT屬性不起作用? – 2012-01-09 23:32:51

+0

nope,它給我的HTML代碼作爲文本,而不是在控制中呈現爲html,並且我有啓動模式爲所見即所得 – Laziale 2012-01-09 23:35:04