我想加載在asp.net中的CKEditor中的HTML文件,但由於某種原因,我不知道如何把代碼放在文件後面的代碼。ckeditor在編輯器中加載html代碼asp.net
CKEditor1.FilebrowserBrowseUrl = url;
CKEditor1.BasePath = url;
CKEditor1.Text = content;
沒有一個幫助 有什麼建議嗎?提前致謝,Laziale
我想加載在asp.net中的CKEditor中的HTML文件,但由於某種原因,我不知道如何把代碼放在文件後面的代碼。ckeditor在編輯器中加載html代碼asp.net
CKEditor1.FilebrowserBrowseUrl = url;
CKEditor1.BasePath = url;
CKEditor1.Text = content;
沒有一個幫助 有什麼建議嗎?提前致謝,Laziale
我不確定你使用的是哪個版本,但假設它是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調用來完成它。
希望這會有所幫助!
假設ckeditor正在從textarea字段初始化,您可以簡單地填充textarea的主體。
thx您的回覆,但我只有這個: CKEditor:CKEditorControl>。我是否也需要使用textarea? –
Laziale
2012-01-09 23:23:21
不,在這種情況下,您正在使用CKEditor進行包裝。設置CKEditorControl的TEXT屬性不起作用? – 2012-01-09 23:32:51
nope,它給我的HTML代碼作爲文本,而不是在控制中呈現爲html,並且我有啓動模式爲所見即所得 – Laziale 2012-01-09 23:35:04