CKEditor 和 MVC

发布于 2024-08-07 15:12:17 字数 142 浏览 3 评论 0原文

我已将 ckeditor 集成到 MVC asp.net 项目中。我的问题是输入被编码回控制器,然后当在视图中重新显示时,内容包含编码的字符和字符。 html 标签。

如何显示内部 html 并且仍然对文本进行编码。

任何建议将不胜感激。

I have integrated ckeditor into a MVC asp.net project. My problem is that the input is encoded back to the controller and then when redisplayed in a view the contents contain the encoded characters & html tags.

How do I show the inner html and still have the text encoded.

Any suggestions would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦开始←不甜 2024-08-14 15:12:18

你用什么来渲染文本区域?如果您使用 Html 助手(例如 Html.Textarea),编码会自动完成。

因此,如果您使用像 CKEditor 或 TinyMCE 这样的 RTE,您可能不希望这样。因此,只需在视图中手动写出一个文本区域,或者更好地编写您自己的文本区域扩展方法来限制/消除编码。

What are you using to render the textarea? If you are using an Html helper (like Html.Textarea for instance), the encoding is done automatically.

Therefore, if you are using a RTE like CKEditor or TinyMCE, you probably don't want that. So, just write out a textarea by hand in the view, or better yet write your own Textarea extension method to limit/eliminate the encoding.

_失温 2024-08-14 15:12:18

任何不能只使用 <%=%> 的原因而不是 <%:%> RTE 输出的标签?

any reason why you can't just use the <%=%> instead of the <%:%> tags for your RTE output?

溺ぐ爱和你が 2024-08-14 15:12:18

我已经与CKeditor集成了

<script type="text/javascript">

    $(document).ready(function () {
        CKEDITOR.replaceByClassEnabled = true;
        $('textarea.editor-basic, textarea.editor-standard, textarea.editor-richtext, textarea.editor-full').each(function (i, textarea) {
            var config = {};
            if ($(textarea).hasClass('editor-basic')) {
                config = {
                    language: 'en',
                    toolbar:
                        [
                            { name: 'basicstyles', items: ['Source', 'RemoveFormat'] }
                        ]
                };
            }
            else if ($(textarea).hasClass('editor-standard')) {
                config = {
                    language: 'en',
                    toolbar:
                        [
                            { name: 'basicstyles', items: ['Source', 'Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat'] }
                        ]
                };
            }
            else if ($(textarea).hasClass('editor-richtext')) {
                config = {
                    language: 'en',
                    toolbar:
                        [
                            { name: 'basicstyles', items: ['Source', 'Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat'] },
                            '/',
                            { name: 'colors', items: ['TextColor', 'BGColor', 'Maximize', 'ShowBlocks'] },
                            '/',
                            { name: 'fonts', items: ['Link', 'Styles', 'Format', 'Font', 'FontSize'] }
                        ]
                };
            }
            else if ($(textarea).hasClass('editor-full')) {
                config = {
                    language: 'en',
                    height: '500px',
                    toolbar:
                        [
                            { name: 'document', items: ['Source', '-', 'Save', 'NewPage', 'DocProps', 'Preview', 'Print', '-', 'Templates'] },
                            { name: 'clipboard', items: ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo'] },
                            { name: 'editing', items: ['Find', 'Replace', '-', 'SelectAll', '-', 'SpellChecker', 'Scayt'] },
                            '/',
                            { name: 'basicstyles', items: ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat'] },
                            {
                                name: 'paragraph', items: ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote', 'CreateDiv',
                                    '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', '-', 'BidiLtr', 'BidiRtl']
                            },
                            { name: 'links', items: ['Link', 'Unlink', 'Anchor'] },
                            { name: 'insert', items: ['Image', 'Flash', 'Table', 'HorizontalRule', 'Smiley', 'SpecialChar'] },
                            { name: 'styles', items: ['Styles', 'Format', 'Font', 'FontSize'] },
                            { name: 'colors', items: ['TextColor', 'BGColor', 'Maximize', 'ShowBlocks'] }
                        ]
                };
            }
            else {
                return;
            }
            CKEDITOR.replace(textarea.id, config);
        });
        $('textarea.editor-basic, textarea.editor-standard, textarea.editor-richtext, textarea.editor-full').each(function (i, textarea) {
            if (!$(textarea).hasClass('langdefault')) {
                $('#cke_' + textarea.id).hide();
            }
        });
        $('.sort_up, .sort_down').click(function () {
            var thisrow = $(this).parent().parent().parent();
            if ($(this).hasClass('sort_down')) {
                if (thisrow.next().find('.sort_up').length > 0) {
                    thisrow.next().after(thisrow);
                }
            }
            else {
                if (thisrow.prev().find('.sort_up').length > 0) {
                    thisrow.prev().before(thisrow);
                }
            }
            thisrow.parent().find('tr').removeClass('alternate-row');
            thisrow.parent().find('tr:odd').addClass('alternate-row');
            updateOrders();
            return false;
        });
        $('.sortable').tableDnD({
            onDrop: function (table, row) {
                $(table).find('tr').removeClass('alternate-row');
                $(table).find('tr:odd').addClass('alternate-row');
                updateOrders();
            }
        });

        $(".form-reset").bind("click", function () {
            $("input[type='text'], textarea").val("");
            for (var i in CKEDITOR.instances) {
                CKEDITOR.instances[i].setData("");
            }
        });
    });

</script>
<!-- in view page -->
<textarea name="desc" id="desc" class="form-textarea2 editor-basic"><%=Html.Encode(ViewBage.desc) %></textarea>

I have integrated with CKeditor

<script type="text/javascript">

    $(document).ready(function () {
        CKEDITOR.replaceByClassEnabled = true;
        $('textarea.editor-basic, textarea.editor-standard, textarea.editor-richtext, textarea.editor-full').each(function (i, textarea) {
            var config = {};
            if ($(textarea).hasClass('editor-basic')) {
                config = {
                    language: 'en',
                    toolbar:
                        [
                            { name: 'basicstyles', items: ['Source', 'RemoveFormat'] }
                        ]
                };
            }
            else if ($(textarea).hasClass('editor-standard')) {
                config = {
                    language: 'en',
                    toolbar:
                        [
                            { name: 'basicstyles', items: ['Source', 'Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat'] }
                        ]
                };
            }
            else if ($(textarea).hasClass('editor-richtext')) {
                config = {
                    language: 'en',
                    toolbar:
                        [
                            { name: 'basicstyles', items: ['Source', 'Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat'] },
                            '/',
                            { name: 'colors', items: ['TextColor', 'BGColor', 'Maximize', 'ShowBlocks'] },
                            '/',
                            { name: 'fonts', items: ['Link', 'Styles', 'Format', 'Font', 'FontSize'] }
                        ]
                };
            }
            else if ($(textarea).hasClass('editor-full')) {
                config = {
                    language: 'en',
                    height: '500px',
                    toolbar:
                        [
                            { name: 'document', items: ['Source', '-', 'Save', 'NewPage', 'DocProps', 'Preview', 'Print', '-', 'Templates'] },
                            { name: 'clipboard', items: ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo'] },
                            { name: 'editing', items: ['Find', 'Replace', '-', 'SelectAll', '-', 'SpellChecker', 'Scayt'] },
                            '/',
                            { name: 'basicstyles', items: ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat'] },
                            {
                                name: 'paragraph', items: ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote', 'CreateDiv',
                                    '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', '-', 'BidiLtr', 'BidiRtl']
                            },
                            { name: 'links', items: ['Link', 'Unlink', 'Anchor'] },
                            { name: 'insert', items: ['Image', 'Flash', 'Table', 'HorizontalRule', 'Smiley', 'SpecialChar'] },
                            { name: 'styles', items: ['Styles', 'Format', 'Font', 'FontSize'] },
                            { name: 'colors', items: ['TextColor', 'BGColor', 'Maximize', 'ShowBlocks'] }
                        ]
                };
            }
            else {
                return;
            }
            CKEDITOR.replace(textarea.id, config);
        });
        $('textarea.editor-basic, textarea.editor-standard, textarea.editor-richtext, textarea.editor-full').each(function (i, textarea) {
            if (!$(textarea).hasClass('langdefault')) {
                $('#cke_' + textarea.id).hide();
            }
        });
        $('.sort_up, .sort_down').click(function () {
            var thisrow = $(this).parent().parent().parent();
            if ($(this).hasClass('sort_down')) {
                if (thisrow.next().find('.sort_up').length > 0) {
                    thisrow.next().after(thisrow);
                }
            }
            else {
                if (thisrow.prev().find('.sort_up').length > 0) {
                    thisrow.prev().before(thisrow);
                }
            }
            thisrow.parent().find('tr').removeClass('alternate-row');
            thisrow.parent().find('tr:odd').addClass('alternate-row');
            updateOrders();
            return false;
        });
        $('.sortable').tableDnD({
            onDrop: function (table, row) {
                $(table).find('tr').removeClass('alternate-row');
                $(table).find('tr:odd').addClass('alternate-row');
                updateOrders();
            }
        });

        $(".form-reset").bind("click", function () {
            $("input[type='text'], textarea").val("");
            for (var i in CKEDITOR.instances) {
                CKEDITOR.instances[i].setData("");
            }
        });
    });

</script>
<!-- in view page -->
<textarea name="desc" id="desc" class="form-textarea2 editor-basic"><%=Html.Encode(ViewBage.desc) %></textarea>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文