2015-06-12 73 views
0

我正在使用CK編輯器來顯示HTML格式的字符串,如粗體。我在C#中創建了這個字符串,並在CKEditor中顯示。 PFB我的代碼CK編輯器不會格式化換行符,例如 n

string abc = "<div><h1>Test Text</h1>abcd \n efgh\n <b>ijkl</b> </div>"; 
this.CKEditor2.Text = abc; 

在我的CKEditor它會顯示如下 測試文本 ABCDEFGH IJKL

它明確不允許\ n作爲換行符。我正在嘗試爲我的CKEditor設置自定義換行符。我不知道爲什麼它不工作。 PFB我的CKEditor的config.js文件。

CKEDITOR.editorConfig = function (config) { 
// Define changes to default configuration here. For example: 
// config.language = 'fr'; 
// config.uiColor = '#AADC6E'; 
config.removePlugins = 'toolbar,elementspath,resize'; 
config.allowedContent = true; 
config.ignoreEmptyParagraph = false; 
var writer = new CKEDITOR.htmlWriter(); 

// The character sequence to use for every indentation step. 
writer.indentationChars = '\t'; 

// The way to close self closing tags, like <br />. 
writer.selfClosingEnd = ' />'; 

// The character sequence to be used for line breaks. 
writer.lineBreakChars = '\n'; 

};

請在這一個任何輸入。

回答

1

由於您使用的HTML,爲什麼不乾脆讓

string abc = "<div><h1>Test Text</h1>abcd </br> efgh</br> <b>ijkl</b> </div>"; 

並將其替換\ t要麼&nbsp;&thinsp;&ensp;,或&emsp;

在顯示預格式化文本時,您還可以使用<pre>,該文本既保留空格又保留換行符。

理想情況下,如果您可以使用CSS padding-left:5emmargin-left:5em這將是理想選擇。

+0

是的,這是真的,它是最後一個選項之一,但這將是解決此問題的解決方法。我在想,我缺少config.js中的一些配置設置,我們可以利用這個設置,因爲CKEditor是高度可定製的。所以,遠沒有太多的幫助available..Please評論,如果你知道任何...任何Javascript專家請chime在 – Programmerzzz

+0

你可能要改變「writer.indentationChars」爲「writer.dataIndentationChars」雖然「\ t」是如果沒有設置則默認。請參閱:http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-dataIndentationChars和換行符,請參閱:http://docs.ckeditor.com/#!/api/CKEDITOR.htmlWriter-方法lineBreak – SteveFerg

+0

我在我的例子中使用CKEDITOR.htmlwriter()。但這是拋出一個錯誤,說CK​​EDITOR沒有找到或者htmlwriter()沒有被CKEDITOR元素找到或支持。有時它什麼都沒做,也沒有改變CKEDITOR的輸出。順便說一句我正在使用CKEDITOR 3.6.6.2的ASP.NET。懷疑你指出的設置將適用於3.x – Programmerzzz