在IIS上部署站点时,CKEditor不工作

时间:2014-07-01 05:52:53

标签: asp.net-mvc asp.net-mvc-4 iis ckeditor bundle

我在MVC应用程序中使用CKEditor。

我正在使用" ckeditor-full" (版本4.4.2)包。

我已经包含" ckeditor \ adapters \ jquery.js"和" ckeditor \ ckeditor.js"捆绑中的文件并引用_Layout.cshtml文件中的那些捆绑包。

@Scripts.Render("~/bundles/Scripts/ckeditor")
@Scripts.Render("~/bundles/Scripts/ckeditor/adapters")

"脚本/ CKEditor的"文件夹包含随包一起下载的所有352个文件。

以下是config.js文件(位于" Scripts / ckeditor"文件夹。

CKEDITOR.editorConfig = function( config )
{
    // Define changes to default configuration here. For example:
    config.toolbar = 'Custom';
    config.disableNativeSpellChecker = false;
    config.browserContextMenuOnCtrl = true;
    config.forcePasteAsPlainText = true;

    config.toolbar_Custom = [
        { name: 'basicstyles', items: ['Bold', 'Italic', 'Underline', 'Strike', '-', 'RemoveFormat'] },
        { name: 'paste', items: ['PasteText'] },
        { name: 'links', items: ['Link', 'Unlink'] }
    ];
};

以下是我为textarea显示CKEditor的方法:

$("#idBodyText").ckeditor();

问题是,它在本地工作正常,并且如果在调试模式下在本地IIS上运行。但是,在具有发布配置的IIS上部署时,它不会显示CKEditor。

知道可能的原因是什么,以及如何解决这个问题?

对此的任何帮助都非常感激。

由于

2 个答案:

答案 0 :(得分:32)

作为一项决议,事实证明,在加载捆绑包之前,我必须在我的视图中包含以下行 -

<script type="text/javascript">
    CKEDITOR_BASEPATH = "@Url.Content("~/Scripts/ckeditor/")";
</script>

答案 1 :(得分:2)

检查您的捆绑包如何在页面来源中生成stylesheetscripts个链接:

@Scripts.Render("~/bundles/Scripts/ckeditor")
@Scripts.Render("~/bundles/Scripts/ckeditor/adapters")

HTTP Error 404 - File or Directory not found403.2 - Read access forbidden.可能会出现问题 - 在这种情况下,您应该检查文件是否正确存储在服务器上(位置正确)并检查该文件夹的权限。

同样有助于调试Firebug。 我强烈建议使用它。

相关问题