2013-02-20 106 views
1

我在cshtml頁面中使用ckeditor將內容輸入到我的數據庫中,稍後將使用html標記在頁面上顯示內容,以使文本更易於閱讀。由於我通過textarea輸入內容,因此我收到一個錯誤消息,指出我輸入<h1><p>的html標記有潛在危險。html編碼/解碼 - ckeditor

要繞過這個頭也不回RequestValidation爲假,在我cinfig.js文件我已經設置:

config.htmlEncodeOutput = true; 

我從數據庫中我的網頁顯示解碼時的數據。

@Html.Raw(System.Web.HttpUtility.HtmlDecode(row.Memo)) 

這很好。當我嘗試第二次編輯數據庫中的內容時,我只會遇到麻煩。在textarea的,當前的數據庫內容顯示在編輯器中

<textarea class="ckeditor" id="editor1" name="Memo" rows="25" cols="120">@Memo</textarea> 

隨着@Memo

我在顯示這樣的編輯器。問題是,一旦原始文本被髮送到編碼數據庫,我相信它在編輯器中重新顯示時仍然被編碼,當它需要被解碼時。因此,編輯將編碼標籤視爲文本,並在現有標籤周圍放置新標籤,這會造成混亂。

任何想法將不勝感激。讓我知道這是否需要更多的澄清。

謝謝。

回答

1

在我提交這個問題後,我給了這個JUST恰當的思想。

我用@Html.Raw(System.Web.HttpUtility.HtmlDecode(row.Memo))來解碼要顯示在頁面上的數據,所以我可以用@Html.Raw(System.Web.HttpUtility.HtmlDecode(Memo))代替@Memo來顯示在編輯器中,這糾正了我的問題。