2016-12-02 19 views
0

私はデータベースからのHTMLコードの読み取りと表示に問題があります。 それは私のページに次のようになります。Asp.net coreデータベースにhtmlコードを保存して後で表示する方法は?

enter image description here

そして、私はそれを見たいと思ったことはある:私はTinyMCEを使用してい

enter image description here

以下のコードでデータベースにそれを保存:

teamContent.PageContent = WebUtility.HtmlEncode(edited_content); // edited_content is the html code I posted to controller to store. 

_context.Update(teamContent); 
_context.SaveChanges(); 

次に、保存したhtmlコードをデコードします。

ViewBag.content = WebUtility.HtmlDecode(content); 

ViewBag.contentは、表示するためにコントローラからビューに渡されます。

これを行う正しい方法は何ですか?ありがとう

答えて

0

ViewBag.contentは文字列を格納することしかできないため、コンテンツをhtmlにデコードしても、.cshtmlで処理すると文字列として扱われます。

進む方法は、.cshtmlにViewBag.contentをどのように処理するかを伝えることです。この場合は、生のhtmlとして扱いたいと考えています。

あなたはRazerのを使用している場合は、Html.Rawを使用します。

@Html.Raw(ViewBag.content) 

そうでない場合はRazerの

<%= System.Web.HttpUtility.HtmlDecode(ViewBag.content) %> 

を使用していない場合ViewBag.contentにして行くものの内容ならばということを忘れないでくださいあなたが危険な領域にいることをユーザーが編集可能であり、これはユーザーがあなたのサイトで実行される悪質なコードを書くことができるため、セキュリティリスクです。

関連する問題