我有一个代码段<h2>SomeText</h2>
当我从ckeditor保存到数据库中时更改为:&amp; lt; h2&amp; gt; SomeText&amp; lt; / h2&amp; gt;
现在,当我单独使用@ WebUtility.HtmlDecode时,它无法正确显示并更改为:&amp; amp; lt; h2&amp; amp; gt; SomeText&amp; amp; lt; / h2&amp; amp; gt;
所以,当我单独使用@ Html.Raw时,它无法正确显示并显示它:<h2>SomeText</h2>
立即
当我使用@ Html.Raw或@ WebUtility.HtmlDecode时,我无法理解为什么不单独工作?
但是当我使用First @ WebUtility.HtmlDecode和下一个@ Html.Raw时,它的工作正常。 @Html.Raw(WebUtility.HtmlDecode(@Item.Content))
&amp; lt; h2&amp; gt; SomeText&amp; lt; / h2&amp; gt; 存储在@ Item.Content
答案 0 :(得分:1)
如果您使用提交按钮:
<input type="submit" value="save html" onclick="saveIt()" />
这样做:
function saveIt(){
$('.editor').val(encodeURIComponent($('.editor').val()));
}
或者如果您只是通过ajax保存其值,那么您可以发布html的encodeURIComponent
而不是html本身。
现在WebUtility.HtmlDecode
应该可以正常运作。
答案 1 :(得分:1)
只需使用
@Html.Raw("<h2>SomeText</h2>")
这会将编码数据解码为html并将其存储在DB中 你试图解码,然后再次编码它 这就是你在DB中获取html编码数据的原因