簡體   English   中英

回發后的所見即所得編輯器

[英]WYSIWYG editors after postback

我試圖將其他所見即所得編輯器添加到我的頁面。 如果我要保存,然后嘗試編輯我的記錄,則一切正常。 但是,如果在編輯頁面上我將無效值設置為某個記錄的字段並提交,則ckeditor / tinymce包含帶有周圍<p></p>標記的已編碼html。 如果我再次提交表單,那么我的wisiwyg編輯器將包含已編碼的先前值,並被其他<p></p>標記包圍。 等等。

我的編輯頁面元素

...
@Html.EditorFor(m => m.Description)
...
<script type="text/javascript">
    CKEDITOR.replace('Description');
    CKEDITOR.config.htmlEncodeOutput = true;
</script>

我的描述屬性

...
private string _description;

public string Description
{
     get
     {
         return HttpUtility.HtmlDecode(_description);
     }
     set
     {
         _description = value;
     }
}
...

ModelState.IsValid==false時,如何使所見即所得的編輯器正確加載屬性值?

從3.0a1版開始,使用TinyMCE編輯時,如果正在編輯的HTML沒有根塊元素(div,p,表等),則它將自動包裝內容。 您可以通過設置forced_root_block屬性來禁用此功能。

摘錄自http://www.tinymce.com/wiki.php/Configuration:forced_root_block

tinyMCE.init({
        ...
        forced_root_block : null
});

另一種方法是刪除CKEDITOR.config.htmlEncodeOutput = true; 並在這種情況下將[AllowHtml]屬性設置為Description屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM